2012-12-27 75 views
8

我正在適應現代主題以創建一個新的主題。我對Magento比較陌生,但我發現它是一個很棒的電子商務平臺。這裏是我的問題:使用購物車中的所有商品而不是最近的商品

我需要顯示所有在客戶購物籃中的產品。我有這個代碼,目前它只能顯示三個項目。我可以使用不同的命令而不是getRecentItems()來顯示他們購物籃中的所有物品嗎?我嘗試使用getAllItems(),但這似乎沒有做任何事情。

<?php $items = $this->getRecentItems();?> 
     <?php if(count($items)): ?> 
      <ol id="cart-header" class="mini-products-list"> 
       <?php foreach($items as $item): ?> 
        <?php echo $this->getItemHtml($item) ?> 
       <?php endforeach; ?> 
      </ol> 
     <?php else: ?> 
      <?php echo $this->__('There are no items in your shopping Basket.') ?> 
     <?php endif ?> 

任何想法?

+0

偉大的問題,嘗試鏈接到具有類似的結果,但你正在嘗試做的事情。 –

回答

17

入住System > Configuration > Checkout > Shopping Cart Side Bar

還有就是要設置的產品,可以在小型車是可見數的設置。

最大顯示量最近添加的項目默認爲3.增加它到你想要的數量或者更高的數字來始終顯示購物車中的所有產品。

編輯:要覆蓋基於您的意見默認magento行爲,您可以使用以下內容。

<?php 
    $session= Mage::getSingleton('checkout/session'); 
    $items = $session->getQuote()->getAllItems(); 
?> 
     <?php if(count($items)): ?> 
      <ol id="cart-header" class="mini-products-list"> 
       <?php foreach($items as $item): ?> 
        <?php echo $this->getItemHtml($item) ?> 
       <?php endforeach; ?> 
      </ol> 
     <?php else: ?> 
      <?php echo $this->__('There are no items in your shopping Basket.') ?> 
     <?php endif ?> 
+0

謝謝!無論如何,你知道我可以使用PHP命令做到這一點,因爲這將成爲一個主題,如果管理員必須更改配置以使其正常工作,這將會令管理員感到沮喪? – George

+0

上面編輯了我的答案。讓我知道它是否有效。 –

+0

它工作的很棒!感謝您的幫助:) – George

0

我同意效用。並感謝您分享購物車側欄部分。我有一個模塊可以在結帳頁面列出購物車物品。這是我的代碼供您參考。

$quoteObject = $this->getQuote(); 
foreach($quoteObject->getAllItems() as $item) 
{ 
    //do what you want here. 
} 

希望這會有所幫助。

1

Mage_Checkout_Block_Cart_Sidebar方法getRecentItems()接受計數參數,只需以這種方式調用它即可檢索完整的購物車物品。

<?php $items = $this->getRecentItems(10000);?> 
相關問題