Bitte schlagen Sie mir den richtigen Ansatz vor. Ich möchte die Seite "EMAIL to Friend" in einem Popup-Fenster anpassen, wenn der Benutzer auf die Schaltfläche klickt (dieses Produkt per E-Mail senden). Durch das Aktivieren von Vorlagenhinweisen habe ich herausgefunden, dass die Schaltfläche mit gerendert wird
frontend / rwd / default / template / catalog / product / view / sharing.phtml
Und die entsprechende Layoutdatei ist catalog.xml
(im Frontend / rwd / default / layout)
Also habe ich local.xml
in dem selben Ordner einen erstellt, in dem catalog.xml
es folgenden Code gibt (nur den ich test.phtml
anstatt sharing.phtml
'Debug' angegeben habe)
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<catalog-product-view>
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="catalog/product_view" name="product.info.sharing" as="sharing" template="catalog/product/view/test.phtml"/>
</block>
</reference>
</catalog-product-view>
</default>
</layout>
Aber nichts passiert, ich meine, wie kann ich das Standarddesign des Themas ändern (überschreiben), ohne bestehende xml
und phtml
Dateien zu ändern ?
<reference name="content"><block type="core/template" name="test.block" template="catalog/product/view/test.phtml" /></reference>
direkt unter dem Knoten hinzu<catalog_product_view>
. und prüfen Sie, ob der Inhalt der Datei test.phtml im unteren Bereich einer Produktansichtsseite verfügbar istIch 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 nachapp/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
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: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, dhMehrere
local.xml
Dateien in der Fallback-Hierarchie werden nicht berücksichtigt. Die erste davon, die gefunden werden kann, wird verwendet:(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
Quelle: https://erfanimani.com/dont-use-local-xml/
quelle