メッセージブロックテーマテンプレートを使用していません
-
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()
方法。
幸せなスタイリング!
所属していません magento.stackexchange