Блок сообщений не использует шаблон темы
-
16-10-2019 - |
Вопрос
Я пытаюсь изменить файл PHTML для блока сообщений. Я нашел в базовой теме template/core/messages.phtml
и скопировал это на мою тему и внес изменения. Мои изменения не показали, поэтому я попытался изменить источник в базовом файле, и изменения все еще не применялись.
Где находится этот шаблонный файл или как я могу его перезаписать?
Решение
К сожалению core/messages.phtml
Файл не используется для сообщений, о которых вы говорите. Весь HTML генерируется на уровне блока в Mage_Core_Block_Messages
.
Хорошей новостью является то, что вы можете контролировать теги, используемые в сообщениях, вызывая эти функции:
Mage_Core_Block_Messages::setMessagesFirstLevelTagName($tagName)
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()
методы
Счастливого стиля!