Блок повідомлень не використовує шаблон теми


12

Я намагаюся змінити файл phtml для блоку повідомлень. Я знайшов у базовій темі template/core/messages.phtmlі скопіював це на свою тему і вніс зміни. Мої зміни не відображалися, тому я спробував змінити джерело в базовому файлі, і зміни все ще не застосовувалися.

Де знаходиться цей шаблон шаблону чи як його перезаписати?


Гей, келе, ти розібрався в кінці цього?
jharrison.au

Відповіді:


11

На жаль, core/messages.phtmlфайл не використовується для повідомлень, про які ви говорите. Весь HTML генерується на рівні блоку в Mage_Core_Block_Messages.

Хороша новина полягає в тому, що ви можете керувати тегами, які використовуються в повідомленнях, викликаючи ці функції:

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

Прикладом цього може бути змінення вашого layout/page.xmlфайлу, знайшовши рядки, які читають:

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

І змінити їх на щось на кшталт:

        <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>

І якщо вам потрібен ще більший контроль, то ви можете змінити блок у власному модулі та налаштувати getHtml()і getGroupedHtml()методи.

Щасливого стилю!


Мене постійно дивує, що можна досягти за допомогою xml дій
philwinkle

Так, вони чудові - ви можете викликати будь-який метод блоку через макет XML так само, як і у *.phtmlфайлі з $this->doSomething()або $this->setSomeData('foobar').
jharrison.au

Як додати класи css? Я хотів би застосувати стилі завантажувального твіттера
Свен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.