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

magento.stackexchange https://magento.stackexchange.com/questions/1349

Вопрос

В 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top