我找到了解決辦法,那就是:
首先,創建模板/下載/新一個.phtml文件,我打電話給我downloadablelist.phtml
然後複製所有模板/可下載/客戶/產品/ list.phtml在我們的新downloadable.phtml
這將給我們一個客戶帳戶我的可下載產品列表的副本。
撥打我們的成功頁面塊:
<?php echo $this->getLayout()->createBlock('downloadable/customer_products_list')->setTemplate('downloadable/checkout/downloadablelist.phtml')->toHtml(); ?>
現在我清理了什麼,我不從產品列表中所需要的。我刪除了表,並增加了一個UL來代替。
接下來是隻顯示從最後一個訂單製成的產品。
<?php
$_items = $this->getItems();
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
if(count($_items)):
$_group_id = Mage::helper('customer')->getCustomer()->getGroupId();
echo '<p><strong>'.$this->__('Downloadable products').' : </strong></p>'; ?>
<ul style="margin-left: 30px; list-style: disc;">
<?php foreach ($_items as $_item):
$itemOrderId = $_item->getPurchased()->getOrderIncrementId();
if($itemOrderId == $orderId) {?>
<li><?php echo $this->htmlEscape($_item->getPurchased()->getProductName()) ?> - <a href="<?php echo $this->getUrl('downloadable/download/link/', array('id' => $_item->getLinkHash(), '_secure' => true)) ?>" title="<?php echo Mage::helper('downloadable')->__('Start Download') ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo $_item->getLinkTitle() ?></a></li>
<?php }
endforeach; ?>
</ul>
<?php endif; ?>
我改變了URL原來下載的文件必須:
href="<?php echo $this->getUrl('downloadable/download/link/', array('id' => $_item->getLinkHash(), '_secure' => true)) ?>"
謝謝
第一 - 當你可以將其發送給他們的客戶賬戶,所有這些工作已經完蛋了你,爲什麼這個麻煩? 其次 - 如果您無法應對已經存在於用戶帳戶頁面中的此功能,您是否查看了顯示可下載產品鏈接的代碼,並試圖在他們的代碼之後對代碼進行建模? – Prattski 2010-05-12 13:01:10