Los mensajes bloquean la plantilla de temas
-
16-10-2019 - |
Pregunta
Estoy tratando de cambiar el archivo PHTML para el bloque de mensajes. Encontré en el tema base template/core/messages.phtml
y lo copié a mi tema e hice los cambios. Mis cambios no se mostraron, así que intenté modificar la fuente en el archivo base y los cambios aún no se aplicaron.
¿Dónde se encuentra este archivo de plantilla o cómo puedo sobrescribirlo?
Solución
Desafortunadamente, el core/messages.phtml
El archivo no se usa para los mensajes de los que está hablando. Todo el HTML se genera en el nivel de bloque en Mage_Core_Block_Messages
.
La buena noticia es que puede controlar las etiquetas utilizadas en los mensajes llamando a estas funciones:
Mage_Core_Block_Messages::setMessagesFirstLevelTagName($tagName)
Mage_Core_Block_Messages::setMessagesSecondLevelTagName($tagName)
Un ejemplo de implementación de esto sería modificar su layout/page.xml
Archivo encontrando las líneas que leen:
<block type="core/messages" name="global_messages" as="global_messages"/>
<block type="core/messages" name="messages" as="messages"/>
Y cambiarlos a 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>
Y si necesita aún más control, entonces podría anular el bloque en su propio módulo y personalizar el getHtml()
y getGroupedHtml()
métodos.
¡Feliz estilo!