Blocco dei messaggi che non utilizza il modello del tema


12

Sto provando a cambiare il file phtml per il blocco dei messaggi. Ho trovato il tema di base template/core/messages.phtmle l'ho copiato sul mio tema e ho apportato le modifiche. Le mie modifiche non sono state visualizzate, quindi ho provato a modificare l'origine nel file di base e le modifiche non sono state ancora applicate.

Dove si trova questo file modello o come posso sovrascriverlo?


Hey kel, l'hai capito alla fine?
jharrison.au,

Risposte:


11

Sfortunatamente il core/messages.phtmlfile non viene utilizzato per i messaggi di cui stai parlando. Tutto il codice HTML viene generato a livello di blocco in Mage_Core_Block_Messages.

La buona notizia è che puoi controllare i tag utilizzati nei messaggi chiamando queste funzioni:

  1. Mage_Core_Block_Messages::setMessagesFirstLevelTagName($tagName)
  2. Mage_Core_Block_Messages::setMessagesSecondLevelTagName($tagName)

Un esempio di implementazione sarebbe quello di modificare il tuo layout/page.xmlfile trovando le righe che leggono:

<block type="core/messages" name="global_messages" as="global_messages"/>
<block type="core/messages" name="messages" as="messages"/>

E cambiandoli in qualcosa del tipo:

        <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 hai bisogno di un controllo ancora maggiore, puoi ignorare il blocco nel tuo modulo e personalizzare i metodi getHtml()e getGroupedHtml().

Stile felice!


Sono costantemente sorpreso da ciò che può essere realizzato tramite azioni di layout xml
philwinkle

Sì, sono fantastici: puoi chiamare qualsiasi metodo di blocco tramite XML di layout esattamente come in un *.phtmlfile con $this->doSomething()o $this->setSomeData('foobar').
jharrison.au,

Come si aggiungono le classi CSS? Vorrei applicare gli stili Twitter Bootstrap
Sven
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.