Ich werde versuchen, eine allgemeine Antwort zu geben.
So ändern Sie Vorlagen
In Ihrem Design können Sie alle phtml
Dateien aus dem Standarddesign oder dem übergeordneten Design überschreiben . Kopieren Sie die Originaldatei nach app/design/frontend/[package]/[theme]/template/[path/to/phtml]
und nehmen Sie Ihre Änderungen vor.
Wenn Sie noch kein projektspezifisches benutzerdefiniertes Thema haben, z. B. weil Sie gerade ein Thema gekauft haben, stellen Sie sicher, dass Sie eines unter erstellen
app/design/frontend/[original-package]/[project-name]
Es wird von geerbt [original-package]/[default]
, Sie müssen nicht alles aus der Standardeinstellung kopieren, sondern nur die Dateien, in denen Sie Änderungen vornehmen müssen.
Modulspezifische Änderungen
Eine Alternative zum Überschreiben der phtml
Datei besteht darin, den Vorlagenpfad zu ändern. Dies kann normalerweise in Layout-XML wie folgt erfolgen:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
Dies ist jedoch für Module gedacht, die eine Vorlage wechseln müssen, nicht für themenspezifische Änderungen. Die neue Vorlage sollte base/default
dann drin sein .
Verwendung von local.xml / theme.xml
Die local.xml
Datei muss sich im Verzeichnis des aktuellen Themas befinden, das Sie verwenden, dh
app/design/frontend/[package]/[theme]/layout
Mehrere local.xml
Dateien in der Fallback-Hierarchie werden nicht berücksichtigt. Die erste davon, die gefunden werden kann, wird verwendet:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(unter der Annahme einer Standardhierarchie und keiner benutzerdefinierten Hierarchie)
Änderungen vornehmen
Sie sollten nur Änderungen in local.xml vornehmen und keine Definitionen wiederholen, die sich bereits in den ursprünglichen XML-Dateien befinden. Vermeiden Sie also das Kopieren von XML-Dateien aus dem Standarddesign, um Änderungen direkt in den Dateien vorzunehmen. Halten Sie das layout
Verzeichnis Ihres Themas sauber!
Typische Elemente local.xml
sind <remove>
das vollständige Entfernen vorhandener Blöcke <action method="unsetChild">
und <action method="append">
das Verschieben eines Blocks von einem übergeordneten Element in ein anderes oder das Aufrufen anderer Methoden für vorhandene Blöcke, um deren Verhalten zu ändern.
Magento 1.9
Ab Magento 1.9 empfiehlt es sich, layout/local.xml
diese Änderungen nicht durchzuführen, sondernetc/theme.xml
Kurz gesagt, Sie können ein Layout-Update in app / design / frontend / yourpackage / etc / theme.xml hinzufügen. Der Vorteil ist, dass Sie die Ladereihenfolge Ihrer Layout-Aktualisierungen steuern können. Bevor Magento 1.9 local.xml immer zuletzt geladen wurde, war es unmöglich, Layout-Direktiven danach auszuführen.
Ich verwende local.xml nicht mehr für projektspezifische Themenänderungen. Ich denke, local.xml wird nur aus Gründen der Abwärtskompatibilität (in 1.9 und höher) verwendet, da es keinen Sinn mehr macht, es zu verwenden. Local.xml wird auch in Magento 2 ( https://github.com/magento/magento2/issues/1037) entfernt ) entfernt.
Quelle: https://erfanimani.com/dont-use-local-xml/