Ich habe vor kurzem begonnen, das local.xml
als meinen Spielplatz für Layouts zu verwenden. Bevor ich meine Zweifel hatte, es aus ... Gründen zu benutzen.
Ich habe die Vorteile gesehen, aber jetzt bin ich gegen eine Mauer gestoßen.
In der Standardlayoutdatei catalog.xml
befindet sich ein bestimmter Block (Name nicht wichtig). Mit dem habe layout.xml
ich einen generischen untergeordneten Block hinzugefügt, in dem ich andere Blöcke platzieren möchte.
<reference name="not.important">
<block type="core/text_list" name="extra.left.menu" as="extra" />
</reference>
So weit, ist es gut.
Aber jetzt habe ich eine Erweiterung, die dem oben deklarierten einen untergeordneten Block hinzufügen soll.
Wenn ich diesen neuen Block hinzufüge local.xml
, funktioniert er gut.
<block type="core/text_list" name="extra.left.menu" as="extra">
<block type="myextension/some_block" template="some/template.phtml" as="some_name" name="some_name" />
</block>
Ich möchte dies jedoch nicht tun, local.xml
da diese neue Erweiterung möglicherweise in Zukunft deaktiviert wird. Wenn ich es über local.xml
die Erweiterung mache und sie deaktiviere, werden meine Protokolldateien überflutet, da der Block nicht mehr existiert.
Also füge ich in meiner Erweiterungslayoutdatei Folgendes hinzu:
<reference name="extra.left.menu">
<block type="myextension/some_block" template="some/template.phtml" as="some_name" name="some_name" />
</reference>
Aber so funktioniert es nicht. Ich habe das Gefühl, dass dies passiert, weil die local.xml
Datei zuletzt geladen wurde und ich keine Modulabhängigkeit hinzufügen kann, sodass meine Erweiterungslayoutdatei danach geladen wird layout.xml
.
Wie soll ich das angehen? Habe ich etwas falsch gemacht?
Oder wenn ich es so will, muss ich die "gute alte Art" des Klonens catalog.xml
in meinem Thema verwenden und diesen neuen Block in das catalog.xml
meines Themas einfügen?