8

我正在调整现代主题以创建要使用的新主题。

我需要展示顾客购物篮中的所有产品。我有这个代码,目前它最多只显示三个项目。我可以使用不同的命令来代替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 ?>

有任何想法吗 ?

4

3 回答 3

19

报到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 ?>
于 2012-12-27T22:53:56.807 回答
1

Mage_Checkout_Block_Cart_Sidebar 方法 getRecentItems() 接受计数参数,只需以这种方式调用它即可检索完整的购物车项目。

<?php $items = $this->getRecentItems(10000);?>
于 2016-06-29T10:05:41.820 回答
0

我同意实用程序。并感谢您分享购物车侧栏部分。我有一个模块可以在结帐页面中列出购物车项目。这是我的代码供您参考。

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

希望这可以帮助。

于 2013-04-25T00:57:51.633 回答