テーマテンプレートを使用しないメッセージブロック


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

ええ、それらは素晴らしいです- またはで*.phtmlファイルを作成するのと同じように、レイアウトXMLを介して任意のブロックメソッドを呼び出すことができます。$this->doSomething()$this->setSomeData('foobar')
jharrison.au

cssクラスをどのように追加しますか?私はTwitterのブートストラップスタイルを適用したい
スヴェン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.