Avec Magento, on peut facilement définir des valeurs de configuration par défaut dans le config.xml de votre module. Avant de tester les codes suivants, assurez vous que vos valeurs ne soient pas stockées dans la table « core_config_data « . Faites une recherche sur le chemin désiré, et supprimez les valeurs en base. Cela permettra de forcer Magento à prendre les valeurs par défaut dans vos config.xml.
Pour définir ces valeurs, on communique dans le XML de la façon suivante :
<?xml version="1.0"?> <config> <!-- ... --> <default> <mysection> <mygroup> <active>0</active> </mygroup> </mysection> </default> <!-- ... --> </config>
Notez que « mysection », »mygroup » sont à définir selon l’endroit où vous définissez votre variable. Mon champ configurable ici est « active » et se trouve à 0 par défaut.
On peut être amené aussi à vouloir définir des valeurs par défaut par website ou par store.
C’est tout à fait possible de la même façon.
Valeur par défaut selon le Website
Pour attribuer une valeur par défaut selon le website, vérifiez d’abord dans votre system.xml que votre champ possède bien la visibilité suivante :
<show_in_website>1</show_in_website>
Récupérez le code de votre website (Système > Gérer les Boutiques):
Et dans votre config XML :
<?xml version="1.0"?> <config> <!-- ... --> <default> <mysection> <mygroup> <active>0</active> </mygroup> </mysection> </default> <websites> <mywebsitecode> <mysection> <mygroup> <active>1</active> </mygroup> </mysection> </mywebsitecode> </websites> <!-- ... --> </config>
Notez que « mysection », »mygroup » sont à définir selon l’endroit où vous définissez votre variable.
« mywebsitecode » est à remplacer par le code récupéré auparavant.
Mon champ configurable ici est « active » et se trouve à 0 par défaut.
Et sera à 1 pour le website spécifié.
Valeur par défaut selon le Store
Pour attribuer une valeur par défaut selon le store, vérifiez d’abord dans votre system.xml que votre champ possède bien la visibilité suivante :
<show_in_store>1</show_in_store>
Récupérez le code de votre store (Système > Gérer les Boutiques):
Et dans votre config XML :
<?xml version="1.0"?> <config> <!-- ... --> <default> <mysection> <mygroup> <active>0</active> </mygroup> </mysection> </default> <stores> <mystorecode> <mysection> <mygroup> <active>1</active> </mygroup> </mysection> </mystorecode> </stores> <!-- ... --> </config>
Notez que « mysection », »mygroup » sont à définir selon l’endroit où vous définissez votre variable.
« mystorecode » est à remplacer par le code récupéré auparavant.
Mon champ configurable ici est « active » et se trouve à 0 par défaut.
Et sera à 1 pour le store spécifié.
Combiner les valeurs !
Vous pouvez tout à fait définir une valeur par défaut, pour des websites spécifiques, et pour des stores ! Voici un exemple :
<?xml version="1.0"?> <config> <!-- ... --> <default> <mysection> <mygroup> <active>0</active> </mygroup> </mysection> </default> <websites> <mywebsitecode> <mysection> <mygroup> <active>1</active> </mygroup> </mysection> </mywebsitecode> </websites> <stores> <mystorecode> <mysection> <mygroup> <active>0</active> </mygroup> </mysection> </mystorecode> </stores> <!-- ... --> </config>
Notez que « mysection », »mygroup » sont à définir selon l’endroit où vous définissez votre variable.
« mystorecode » est à remplacer par le code de votre store.
« mywebsitecode » est à remplacer par le code de votre store.
Mon champ configurable ici est « active » et se trouve à 0 par défaut.
Et sera à 1 pour le website spécifié.
Et sera à 0 pour le store spécifié.
Et voilà vous êtes désormais des professionnels pour configurer des valeurs par défaut dans le System Config de Magento !