Nachrichtenblock verwendet keine Designvorlage

12

Ich versuche, die HTML-Datei für den Nachrichtenblock zu ändern. Ich habe im Basisthema gefunden template/core/messages.phtmlund das in mein Thema kopiert und die Änderungen vorgenommen. Meine Änderungen wurden nicht angezeigt, daher habe ich versucht, die Quelle in der Basisdatei zu ändern, und die Änderungen wurden immer noch nicht übernommen.

Wo befindet sich diese Vorlagendatei oder wie kann ich sie überschreiben?

Kel
quelle
Hey Kel, hast du das am Ende herausgefunden?
Jharrison.au

Antworten:

11

Leider wird die core/messages.phtmlDatei nicht für die Nachrichten verwendet, von denen Sie sprechen. Der gesamte HTML-Code wird auf der Block-Ebene in generiert Mage_Core_Block_Messages.

Die gute Nachricht ist, dass Sie die in den Nachrichten verwendeten Tags steuern können, indem Sie die folgenden Funktionen aufrufen:

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

Ein Beispiel für die Implementierung ist das Ändern Ihrer layout/page.xmlDatei, indem Sie die folgenden Zeilen suchen:

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

Und ändern Sie sie in etwas wie:

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

Und wenn Sie noch mehr Kontrolle benötigen , dann können Sie den Block in Ihrem eigenen Modul außer Kraft setzen und die anpassen getHtml()und getGroupedHtml()Methoden.

Viel Spaß beim Stylen!

jharrison.au
quelle
Ich bin immer wieder erstaunt, was mit Layout-XML-Aktionen erreicht werden kann
Philwinkle
Ja, sie sind großartig - Sie können jede Blockmethode über Layout-XML genauso aufrufen, wie Sie es in einer *.phtmlDatei mit $this->doSomething()oder tun würden $this->setSomeData('foobar').
jharrison.au
Wie fügt man CSS-Klassen hinzu? Ich möchte Twitter Bootstrap Styles anwenden
Sven