Benutzerdefiniertes Paket / Theme für Admin-Modul, das auf das Standardpaket zurückgreift?

10

Wie fordere ich magento auf, ein benutzerdefiniertes Layoutpaket / -thema für mein benutzerdefiniertes Administrationsmodul zu verwenden ?

Welche Struktur und welchen Inhalt muss ich in die Datei local.xml aufnehmen , wenn ich sie zum Definieren eines benutzerdefinierten Designpakets verwenden muss?

Bitte sagen Sie, ob es auch andere Möglichkeiten gibt, dies zu tun .

user3151033
quelle

Antworten:

16

Fügen Sie diese Zeilen in die Datei app / etc / local.xml (oder) { yourPKG / yourModule / etc / config.xml } unter dem <config>Tag ein

Es ist besser, wenn Sie es aus den von @Marius unter den Kommentaren angegebenen Gründen in den Konfigurationsordner Ihres Moduls einfügen.

 <stores>
        <admin>
            <design>
                <package>
                    <name>default</name>
                </package>
                <theme>
                    <default>MyCustomTheme</default>
                </theme>
            </design>
        </admin>
</stores>

Dabei ist MyCustomTHeme Ihr Themenordnerapp/design/adminhtml/default/MyCustomTheme

Diese Methode verwendet Ihr MyCustomTheme als Standarddesign und verwendet FallBack für jedes Layout, das nicht gefunden wird .

Das Hinzufügen der Innenseite der obigen Zeile app/etc/config.xmlzeigte keinen Effekt.

Und das Ändern des Paketordnernamens von Standard auf " myNewPAckage" hatte den Standard überschrieben und mich aufgefordert, den gesamten Standard in den myNewPAckageOrdner zu kopieren, sonst funktionierte nichts .

Um den FallBack-Effekt zu erzielen, behalten Sie das Paket als Standard bei und geben Sie das Thema als an yourCustomTheme.

user3151033
quelle
3
+1 dafür mit einem kleinen Kommentar. Sie sollten dies nicht hinzufügen app/etc/local.xml. Normalerweise wird diese Datei nicht zwischen Instanzen (dev, staging, prod) kopiert, und Sie verlieren möglicherweise die Funktionalität. Verwenden Sie die config.xmlDatei eines benutzerdefinierten Moduls.
Marius
Ich dachte, dass ich den Standard-Admin-Layout-Ordner überschreiben würde, aber es funktioniert tatsächlich. Wir können diese Zeilen auch in unsere Modul-Konfigurationsdatei einfügen. :) danke
user3151033
@ user3151033 Es funktioniert, weil Magento das XML aller Erweiterungen etc/config.xmlzusammen mit app/etc/local.xmleiner einzigen All-Inclusive-XML-Konfiguration kombiniert . app/etc/local.xmlwird zuerst geladen und dann zuletzt wieder geladen. Der Grund dafür ist, dass es seine anfänglichen Konfigurationswerte empfangen kann und dass es auch das letzte Wort in der Konfiguration hat (indem es immer wieder zuletzt geladen wird).
Darren Felton