Ich habe ein Thema erstellt, indem ich die folgende Datei erstellt und bearbeitet habe:
frontend/mypackage/default/layout/local.xml
Ich habe eine Geschäftsansicht "site1" und möchte Ausnahmen in der Standarddatei local.xml von "mypackage" machen. Daher habe ich diese Datei erstellt:
frontend/mypackage/site1/layout/local.xml
Sobald ich diese Datei erstelle, überspringt Magento jedoch die Standardänderungen in local.xml.
Wie kann ich Magento anweisen, standardmäßig die Datei local.xml zu verwenden und die Änderungen in der Datei local.xml von site1 hinzuzufügen?
layout
magento-1
theme
parent-child-theme
theme-fallback
Gerard Nijboer
quelle
quelle
Antworten:
Seit Magento 1.9 können Sie benutzerdefinierte Layout-Updates
etc/theme.xml
wie folgt hinzufügen :Wenn Sie Ihre themenspezifischen Layouts wie
local.xml
folgt definieren, anstatt sie zu verwenden , können Sie dem untergeordneten Thema problemlos ein weiteres Update hinzufügen.Leider tritt bei theme.xml das gleiche Problem auf, dass nur das von Ihrem eigentlichen Thema verwendet wird, nicht das von übergeordneten Themen. Aber es gibt viel weniger Überschneidungen.
Beispiel
theme.xml
für das untergeordnete Thema:Quelle und weitere Informationen: http://alanstorm.com/magento_infinite_fallback_theme_xml
quelle
Magento führt local.xml-Änderungen nicht aus anderen local.xml-Dateien zusammen. Die Art und Weise, wie Magento Theme Fallback funktioniert, ist, dass jede Datei, die im aktuellen Theme / Package gefunden wird, bevorzugt und gegenüber jeder anderen Theme / Package-Datei mit ähnlichen Namen verwendet wird.
Auf diese Weise können Sie keine zusammengeführte Außerkraftsetzung erstellen. Dies ist in Magento 2 möglich, in Magento 1.x jedoch nicht.
Leider müssen Sie es von der Standardeinstellung in Ihr lokales Design kopieren und dort Ihre Änderungen vornehmen.
Viel Glück.
quelle
Phil hat absolut recht, aber theoretisch gibt es eine Problemumgehung (wenn auch nicht so hübsch).
Sie können ein benutzerdefiniertes Modul erstellen, mit dem das Layout-Update eingeführt wird. Anschließend können Sie im Modul überprüfen, ob die Geschäftsansicht nicht die erforderliche ist, und dieses Layout-Update entfernen.
Das Schlechte an diesem Ansatz ist, dass Sie die Geschäftsansicht fest codieren. Und insgesamt sieht das nicht schön aus.
quelle