我正在调整现代主题以创建一个新主题。
我需要在客户购物篮中显示所有产品。我有这个代码,目前它最多只能显示三个项目。我可以使用不同的命令而不是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 :(得分: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.
}
希望这有帮助。