Domanda

In checkout.xml vedo

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

Sto cercando di avere un blocco di mostrare solo quando ci sono articoli nel carrello ma non quando il suo vuoto. Come posso realizzare questo?

È stato utile?

Soluzione

Ad tuo blocco normalmente, e avvolgere il display html in un condizionale, controllando carrello articoli.

Questo lavoro,

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

senza dover riscrivere tutti i blocchi di base, o anche creare il proprio blocco.

Il blocco phtml potrebbe quindi essere solo blocco modello di base, a meno che non avete bisogno di più della spesa logica nel modello, allora si dovrebbe estendere il nucleo della spesa blocco astratto da un proprio blocco (Mage_Checkout_Block_Cart_Abstract), che vi darà accesso a tutta la spesa di base metodi.

Poi basta aggiungere il blocco al xml, e sarà solo output di codice se ci sono oggetti.

A seconda di cosa il vostro display è destinato, è possibile aggiungere il blocco come un bambino di queste liste di blocco di base, allora non c'è bisogno di cambiare il file di base cart.phtml echeggiare il vostro blocco

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top