I messaggi non blocco utilizzando modello di tema
-
16-10-2019 - |
Domanda
Sto cercando di modificare il file phtml per il blocco dei messaggi. Ho trovato nel template/core/messages.phtml
tema base e copiato che oltre al mio tema e ho fatto le modifiche. I miei cambiamenti non hanno mostrato così ho provato a modificare l'origine del file di base e le modifiche ancora non sono stati applicati.
Dove si trova questo file di modello si trova o come posso sovrascrivere?
Soluzione
Purtroppo il file core/messages.phtml
non viene utilizzato per i messaggi che si sta parlando di. Tutto il codice HTML è generato a livello di blocco in Mage_Core_Block_Messages
.
La notizia buona è che si può controllare i tag utilizzati nei messaggi chiamando queste funzioni:
-
Mage_Core_Block_Messages::setMessagesFirstLevelTagName($tagName)
-
Mage_Core_Block_Messages::setMessagesSecondLevelTagName($tagName)
Un esempio di applicazione del presente sarebbe quello di modificare il file layout/page.xml
trovando le linee che leggere:
<block type="core/messages" name="global_messages" as="global_messages"/>
<block type="core/messages" name="messages" as="messages"/>
E li cambia in qualcosa di simile:
<block type="core/messages" name="global_messages" as="global_messages">
<action method="setMessagesFirstLevelTagName"><tagName>div</tagName></action>
<action method="setMessagesSecondLevelTagName"><tagName>span</tagName></action>
</block>
<block type="core/messages" name="messages" as="messages">
<action method="setMessagesFirstLevelTagName"><tagName>div</tagName></action>
<action method="setMessagesSecondLevelTagName"><tagName>span</tagName></action>
</block>
E se avete bisogno di un controllo ancora maggiore allora si potrebbe ignorare il blocco nel proprio modulo e personalizzare i metodi getHtml()
e getGroupedHtml()
.
Happy styling!