Получить все продукты в корзину вместо самых последних
Я адаптирую современную тему, чтобы создать новую тему для использования. Я относительно новичок в 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 ?>
Есть Идеи ?
3 ответа:
Регистрация
System > Configuration > Checkout > Shopping Cart Side Bar
Существует настройка для установки количества продуктов, которые могут быть видны в мини-корзине.
Максимальное отображение недавно добавленных элементов по умолчанию равно 3. Увеличьте его до того, что вы хотите, чтобы он был или, скорее, высокое число, чтобы всегда показывать все продукты в корзине.
EDIT: чтобы переопределить поведение 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 ?>
Метод Mage_Checkout_Block_Cart_Sidebar getRecentItems() принимаетcount param, просто вызовите его таким образом, чтобы получить полные элементы корзины.
<?php $items = $this->getRecentItems(10000);?>
Я согласен с полезностью. И спасибо за то, что поделились на стороне корзины барной частью. У меня был модуль, который перечислял товары из корзины на странице оформления заказа. Вот мой код для вашей справки.
$quoteObject = $this->getQuote(); foreach($quoteObject->getAllItems() as $item) { //do what you want here. }
Надеюсь, это поможет.