Скрыть блоки на странице корзины, если корзина пуста


В checkout.xml Я вижу

<action method="setCartTemplate"><value>checkout/cart.phtml</value></action>
<action method="setEmptyTemplate"><value>checkout/cart/noItems.phtml</value></action>
<action method="chooseTemplate"/>

Я пытаюсь, чтобы блок отображался только тогда, когда в корзине есть товары, но не тогда, когда она пуста. Как мне этого добиться?

Author: kel, 2013-03-13

1 answers

Обычно рекламируйте свой блок и обертывайте отображаемый html-код в условный, проверяя наличие товаров в корзине.

Это сработает,

Mage::helper('checkout/cart')->getCart()->getItemsCount();

Без необходимости переписывать какие-либо основные блоки или даже создавать свой собственный блок.

Ваш блок phtml может быть просто блоком основного шаблона, если вам не нужна дополнительная логика корзины в вашем шаблоне, тогда вам следует расширить абстрактный блок основной корзины из вашего собственного блока (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>
 3
Author: ProxiBlue, 2016-03-24 16:11:18