Fügen Sie den linken Block erneut hinzu, nachdem er entfernt wurde

7

Ausführen von Magento 1.9 CE.

Ich versuche, einen linken Block erneut hinzuzufügen, nachdem er in der Basis entfernt wurde.

base / default / layout / storelocator.xml:

<dealers_index_index translate="label">
    <update handle="storelocator_index_index"/>      
    <label>Store Locator</label>
    <remove name="right"/>
    <remove name="left"/>
    ...

jason / default / layout / local.xml:

<dealers_index_index translate="label">
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
    </reference>

    <reference name="left"/>
</dealers_index_index>

Ich hatte gehofft, left einfach wieder hinzufügen zu können, ohne die Elemente explizit mit left setzen zu müssen, da sie sich je nach Kundenprotokollierung usw. ändern.

Gibt es einen addoder resetBefehl?

Jason McCreary
quelle

Antworten:

5

Soweit ich weiß, ist dies nicht möglich, aber Sie könnten sich Alan Storms Option zum Entfernen des Layouts ansehen

Auf diese Weise können wir die linke Spalte mit dem folgenden Snippet entfernen

<x-unremove name="left" />

Aus Code-Sicht des Ereignisses controller_action_layout_generate_xml_beforewerden alle Knoten entfernt, die entfernt werden sollen und die ebenfalls mit festgelegt werdenx-unremove

David Manners
quelle
3

Es ist auch möglich, das base/default/layout/storelocator.xmlin Ihr eigenes Thema (as jason/default/layout/storelocator.xml) zu kopieren und dann die Zeile zu entfernen <remove name="left"/>. Magento wählt Ihre Datei über der Basisdatei aus.

Natürlich ist dieser Weg nicht der ordentlichste. Sie haben die Wahl, entweder die storelocator.xmlDatei zu kopieren oder ein Modul zu installieren, um entfernte Blöcke "entfernen" zu können (wie von @DavidManners vorgeschlagen).

7ochem
quelle