Bloco de mensagens que não usa modelo de tema


12

Estou tentando alterar o arquivo phtml para o bloco de mensagens. Encontrei no tema base template/core/messages.phtmle copiei para o meu tema e fiz as alterações. Minhas alterações não foram exibidas, então tentei modificar a fonte no arquivo base e as alterações ainda não foram aplicadas.

Onde está localizado esse arquivo de modelo ou como posso substituí-lo?


Hey kel, você descobriu esse no final?
jharrison.au

Respostas:


11

Infelizmente, o core/messages.phtmlarquivo não é usado para as mensagens das quais você está falando. Todo o HTML é gerado no nível do bloco em Mage_Core_Block_Messages.

A boa notícia é que você pode controlar as tags usadas nas mensagens chamando estas funções:

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

Um exemplo de implementação disso seria modificar seu layout/page.xmlarquivo localizando as linhas que lêem:

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

E alterá-los para algo como:

        <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 você precisar de ainda mais controle, poderá substituir o bloco em seu próprio módulo e personalizar os métodos getHtml()e getGroupedHtml().

Estilo feliz!


Estou constantemente espantado com o que pode ser realizado através de acções layout XML
philwinkle

Sim, eles são ótimos - você pode chamar qualquer método de bloco através do XML de layout da mesma maneira que faria em um *.phtmlarquivo com $this->doSomething()or $this->setSomeData('foobar').
jharrison.au

Como você adiciona classes css? Eu gostaria de aplicar estilos Twitter Bootstrap
Sven
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.