Nascondi blocchi sulla pagina del carrello se la spesa è vuoto
-
16-10-2019 - |
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?
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>