2010-04-01 46 views
1

成功訂購後,我想直接建議在success.phtml文件中購買產品買家的可下載URL。如何在成功訂購後獲得可下載的產品鏈接

我寫這段代碼瞭解最新訂單的產品的價值:

// Get the latest Order ID 
$order = Mage::getModel('sales/order')->load(Mage::getSingleton('checkout/session')->getLastOrderId()); 
// Get every products on the latest order 
$items = $order->getAllItems(); 

// Loop the products 
foreach ($items as $item){ 
    $product = Mage::getModel('catalog/product')->setStoreId($order->getStoreId())->load($item->getProductId()); 
    // HERE I NEED FUNCTION TO GET DOWNLOADABLE URL LINK 
} 
+0

第一 - 當你可以將其發送給他們的客戶賬戶,所有這些工作已經完蛋了你,爲什麼這個麻煩? 其次 - 如果您無法應對已經存在於用戶帳戶頁面中的此功能,您是否查看了顯示可下載產品鏈接的代碼,並試圖在他們的代碼之後對代碼進行建模? – Prattski 2010-05-12 13:01:10

回答

2

我找到了解決辦法,那就是:

首先,創建模板/下載/新一個.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)) ?>" 

謝謝

1

這爲我工作:

$links = Mage::getModel('downloadable/link_purchased_item')->getCollection() 
->addFieldToFilter('order_item_id', $item->getId()); 
foreach ($links as $link) { 
echo Mage::helper('downloadable')->__('download') . 
    $this->getUrl('downloadable/download/link', 
    array('id' => $link->getLinkHash(), '_store' => $order()->getStore(), 
    '_secure' => true, '_nosid' => true)); 
} 
相關問題