Comment puis-je définir les valeurs par défaut du site Web dans config.xml?

13

Avec les modules personnalisés, je préfère mettre les paramètres de configuration du système dans config.xml (la partie des paramètres par défaut). Cela rend plus facile lorsque je pousse le code de ma machine locale vers un environnement dev / staging / live car je n'ai pas besoin d'accéder à l'administrateur et de ressaisir les paramètres. Il y a aussi d'autres avantages - il peut être plus rapide de faire les choses dans un éditeur de texte et vous pouvez toujours avoir une valeur par défaut raisonnable s'il y a quelque chose dans le config.xml pour cela.

Je voudrais le faire pour une boutique Magento multi-sites Web qui a des prix d'expédition différents pour différents sites Web (et vues de magasin). À l'heure actuelle, mes magasins s'appellent «euro», «usd» et «gbp». La vue 'euro' prend les valeurs par défaut de l'administrateur sans dépassement au niveau du site Web tandis que les vues 'gbp' et 'usd' sont avec le dépassement au niveau du site Web.

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

Henry's Cat
la source

Réponses:

21

Vous pouvez l'ajouter en utilisant le <stores>nœud dans votre config.xml comme suit.

<stores>
    <store_code>

Vous pouvez également le faire au niveau du site Web avec le <websites>nœud dans votre config.xml comme suit.

<websites>
    <website_code>

Les seuls exemples de cela dans le code principal se trouvent dans le côté administrateur, car ce sont les seuls sites Web ou magasins qui sont garantis dans le système. Découvrez app/code/core/Mage/Adminhtml/etc/config.xmlun exemple.

<websites>
    <admin>
        <web>
            <routers>
                <frontend>
                    <disabled>true</disabled>
                </frontend>
            </routers>
            <default>
                <no_route>admin/index/noRoute</no_route>
            </default>
        </web>
    </admin>
</websites>
David Manners
la source
Je ne savais pas ça! Pouvez-vous développer pour afficher cela avec des exemples de valeurs par défaut afin qu'il soit clair où cela va?
Jonathan Hussey
Merci beaucoup! Je suppose que je devrai faire quelques expériences pour que cela fonctionne réellement avec mon module particulier, mais c'est génial d'apprendre quelque chose de nouveau! Merci encore!
Henry's Cat
@David Manners - cela fonctionne vraiment bien. Question suivante - les cases à cocher «Utiliser par défaut», comment puis-je les désactiver au niveau d'un magasin / site Web?
Henry's Cat
Il convient de noter que cela fonctionne également dans Magento 2!
Josh Davenport