*/ class Mage_XmlConnect_Block_Customer_Downloads extends Mage_Downloadable_Block_Customer_Products_List { /** * Render downloadable products list xml * * @return string */ protected function _toHtml() { $items = $this->getItems(); if (count($items)) { /** @var $xmlModel Mage_XmlConnect_Model_Simplexml_Element */ $xmlModel = Mage::getModel('xmlconnect/simplexml_element', ''); foreach ($items as $item) { $itemXmlObj = $xmlModel->addCustomChild('item'); $itemXmlObj->addCustomChild('title', $item->getPurchased()->getProductName()); $itemXmlObj->addCustomChild('link', $this->getDownloadUrl($item), array( 'label' => $item->getLinkTitle() )); $itemXmlObj->addCustomChild('status', Mage::helper('downloadable')->__(ucfirst($item->getStatus()))); $itemXmlObj->addCustomChild('downloads_limit', $this->getRemainingDownloads($item)); $itemXmlObj->addCustomChild('date', $this->formatDate($item->getPurchased()->getCreatedAt())); $itemXmlObj->addCustomChild('order_id', $item->getPurchased()->getOrderId()); $itemXmlObj->addCustomChild('real_order_id', $item->getPurchased()->getOrderIncrementId()); } } else { Mage::throwException( Mage::helper('downloadable')->__('You have not purchased any downloadable products yet.') ); } return $xmlModel->asNiceXml(); } /** * Return url to download link * * @param Mage_Downloadable_Model_Link_Purchased_Item $item * @return string */ public function getDownloadUrl($item) { return $this->getUrl('downloadable/download/link', array('id' => $item->getLinkHash(), '_secure' => true)); } }