Hier ist die Situation: Ich habe mehrere selbst erstellte Module, die alle getestet wurden und mit dem Standarddesign arbeiten. Dann haben wir ein neues Theme gekauft und installiert. Umgestellt auf das neue Thema und die Module werden nicht angezeigt. Nach mehreren Try / Fail-Tests stellte ich fest, dass ich die entsprechenden Layout- und Vorlagendateien in die entsprechenden Ordner des kürzlich installierten Designs kopieren musste.
Meine Frage lautet also: Was muss ich tun, damit alle meine Module mit einem nach dem Modul-Setup installierten Thema funktionieren?
configuration
layout
Jaroslaw
quelle
quelle
Antworten:
Beispiel:
quelle
Die harte Wahrheit ist, dass Sie nicht wirklich garantieren können, dass sie es sein werden. Durch das Einfügen Ihrer Dateien in
base/default
(oder dasdefault/default
Überschreiben von Kernvorlagen - da Sie bei einer Modulinstallation keine Basisdateien überschreiben möchten, obwohl Sie dazu gezwungen sind, Duplikate für die Enterprise Edition zu behalten) wird sichergestellt, dass sie zu den Ausweichdateien werden, bei Designdateien jedoch Immer höchste Priorität haben.Die meisten Module werden mit einem Installationshandbuch geliefert, in dem erwähnt wird, dass die Vorlagendateien in das Thema des Benutzers kopiert werden sollen, wenn sie ein benutzerdefiniertes Thema haben. Das ist ungefähr das Beste, was Sie tun können.
quelle
Eine Sache, die wir einige Male benutzt haben, ist [Fabrizio Branca] [1] [Custom Fallback] [2]. Es ist ein sehr nützliches Modul zum Festlegen Ihrer eigenen Fallback-Hierarchie für Themen. Sie können Folgendes angeben:
Dann alle Module, die ihre eigenen Vorlagen in das
default/default
Thema einfügen. Funktioniert nicht, wenn sie versuchen,base/default
Pakete zu überschreiben .Sie können eine beliebige Anzahl von Paketen / Designs in der benutzerdefinierten Fallback-Hierarchie angeben.
quelle
Jede Vorlage und Layoutdatei
base/default
wird geladen, es sei denn, sie wird irgendwo entlang des Pfads überschrieben. Wenn es sich bei Ihrem benutzerdefinierten Modul jedoch um ein Widget handelt, sollten Sie sicherstellen, dass es dort wiedergegeben wird, wo es jemals benötigt wird. Wenn Sie zum Beispiel Änderungen vornehmen, die auf der Produktseite über angezeigt werdengetChildHtml
, sollten diese Aufrufe auch dem entsprechenden Thema entsprechen. Wenn Ihre Modulvorlagen jedoch Seiten für sich sind und nicht geladen werdenbase/default
, blockiert etwas die Layoutkonfiguration und Sie sollten was finden.quelle
getChild
, ich habe ja einige Anrufe dieser Art.Darauf gibt es keine einfache Antwort. Es hängt von den Modulen ab, die Sie haben. Zum Beispiel einige Modulfirmen, die die Kerndateien überschreiben. Daher sollten Sie zunächst prüfen , was in den zur Verfügung stehenden Daten
app/etc/modules
undapp/code/local/Mage
,app/code/community/Mage
Ordnern. Wie Sie vielleicht wissen, ist der erste Ordner ein Modulinitialisierungsordner, in dem Sie die durch XML-Dateien verknüpften Module deaktivieren oder aktivieren können. Die letzten beiden Ordner (sofern verfügbar) sind Ordner, die den Hauptcode überschreiben.Öffnen Sie dann eine der XML-Dateien des verfügbaren
etc/modules
Verzeichnisses. Sie sehen etwas wie unten:Hier sind die wichtigen Teile
Company
undNamespace
. Wenn Sie die Ordnerapp/code/local
oder besuchenapp/code/community
, sehen Sie einen Ordner mit dem NamenCompany
und anschließend einen Unterordner mit dem NamenNamespace
.Wenn Sie nachschlagen
Namespace
, sehen Sie einen Unterordner mit dem Namen/etc
. Dieser Ordner enthält die modulbezogene Konfigurationsdateiconfig.xml
. Diese Datei enthält modulbezogene Konfigurationszeilen, auf die Sie verweisen können, welche Dateien dieses Modul betreffen.Wie ich in meiner ersten Zeile sagte, ist es schwer zu verwalten.
quelle