/** * Prepare additional options/information for order item which will be * created from this product * * @param Mage_Catalog_Model_Product $product * @return array */ public function getOrderOptions($product = null) { $options = parent::getOrderOptions($product); if ($linkIds = $this->getProduct($product)->getCustomOption('downloadable_link_ids')) { $linkOptions = array(); $links = $this->getLinks($product); foreach (explode(',', $linkIds->getValue()) as $linkId) { if (isset($links[$linkId])) { $linkOptions[] = $linkId; } } $options = array_merge($options, array('links' => $linkOptions)); } $options = array_merge($options, array('is_downloadable' => true, 'real_product_type' => self::TYPE_DOWNLOADABLE)); return $options; }