Wie kann ich die Standardeinstellungen pro Website in config.xml festlegen?

13

Bei benutzerdefinierten Modulen ziehe ich es vor, die Systemkonfigurationseinstellungen in config.xml (Standardeinstellungsteil) zu speichern. Dies macht es einfacher, wenn ich Code von meinem lokalen Computer in eine Entwicklungs- / Staging- / Live-Umgebung schiebe, da ich nicht in den Administrator gehen und die Einstellungen erneut eingeben muss. Es gibt noch weitere Vorteile: Es kann schneller sein, Dinge in einem Texteditor zu erledigen, und Sie können immer einen vernünftigen Standard festlegen, wenn die Datei config.xml etwas dafür enthält.

Ich möchte dies für einen Magento-Store mit mehreren Websites tun, der unterschiedliche Versandkosten für verschiedene Websites (und Store-Views) hat. Momentan heißen meine Läden "euro", "usd" und "gbp". In der Euro-Ansicht werden die Standardeinstellungen des Administrators ohne Überschreibung auf Website-Ebene verwendet, während die Ansichten "gbp" und "usd" auf Website-Ebene überschrieben werden.

    ...
    <default>
    <carriers>
        <my_courier>
            <stuff_goes_here_such_as_price/>
            <price>15.00</price>
            ...
        </my_courier>
    </carriers>
</default>

Henrys Katze
quelle

Antworten:

19

Sie können dies mithilfe des <stores>Knotens in Ihrer config.xml wie folgt hinzufügen .

<stores>
    <store_code>

Sie können dies auch auf Website-Ebene mit dem <websites>Knoten in Ihrer config.xml wie folgt tun.

<websites>
    <website_code>

Das einzige Beispiel hierfür im Kerncode ist die Administratorseite, da dies die einzigen Websites oder Geschäfte sind, die garantiert im System vorhanden sind. Schauen Sie sich app/code/core/Mage/Adminhtml/etc/config.xmlein Beispiel an.

<websites>
    <admin>
        <web>
            <routers>
                <frontend>
                    <disabled>true</disabled>
                </frontend>
            </routers>
            <default>
                <no_route>admin/index/noRoute</no_route>
            </default>
        </web>
    </admin>
</websites>
David Manners
quelle
Wusste das nicht! Können Sie dies durch Beispiel-Standardwerte erweitern, damit klar ist, wohin es geht?
Jonathan Hussey
Vielen Dank! Ich vermute, ich muss ein bisschen experimentieren, damit dies tatsächlich mit meinem speziellen Modul funktioniert, aber es ist großartig, etwas Neues zu lernen! Danke noch einmal!
Henrys Katze
@ David Manners - das funktioniert eigentlich ganz gut. Nächste Frage - die Kontrollkästchen "Standard verwenden", wie kann ich sie auf Store- / Website-Ebene deaktivieren?
Henrys Katze
Bemerkenswert ist, dass dies auch in Magento 2 funktioniert!
Josh Davenport