Скрыть блоки на странице корзины, если корзина пуста
-
16-10-2019 - |
Вопрос
В effeerout.xml я вижу
<action method="setCartTemplate"><value>checkout/cart.phtml</value></action>
<action method="setEmptyTemplate"><value>checkout/cart/noItems.phtml</value></action>
<action method="chooseTemplate"/>
Я пытаюсь появиться только в блоке, когда в телеге есть элементы, но не в том, что он пуст. Как мне это сделать?
Решение
Обычно рекламируйте свой блок, и оберните свой дисплей HTML в условную проверку предметов телеги.
Это будет работать,
Mage::helper('checkout/cart')->getCart()->getItemsCount();
без необходимости переписать какие -либо основные блоки или даже создавая свой собственный блок.
Ваш блок PHTML может быть просто блоком шаблонов основного шаблона, если вам не нужно больше логики корзины в вашем шаблоне, то вы должны расширить абстрактный блок Core Cart от вашего собственного блока (Mage_Checkout_Block_Cart_Abstract
), который даст вам доступ ко всем методам корзины.
Затем просто добавьте свой блок в XML, и он выведет его код, только если есть элементы.
В зависимости от того, что такое предполагаемый дисплей, вы можете добавить свой блок в качестве ребенка из этих списков основных блоков, тогда вам не нужно менять базу cart.phtml
файл, чтобы повторить свой блок
<block type="core/text_list" name="checkout.cart.top_methods" as="top_methods" translate="label">
[ add your block here ]
</block>
<block type="core/text_list" name="checkout.cart.methods" as="methods" translate="label">
[ add your block here ]
</block>