Magento获取购物车中的所有产品而非最新产品

时间:2012-12-27 22:50:38

标签: php magento e-commerce magento-1.7

我正在调整现代主题以创建一个新主题。

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

任何想法?

3 个答案:

答案 0 :(得分: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 ?>

答案 1 :(得分:1)

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

<?php $items = $this->getRecentItems(10000);?>

答案 2 :(得分:0)

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

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

希望这有帮助。