Ce petit tutoriel va vous apprendre à facilement ajouter dans le backoffice de Magento des options de configuration, que vous pourrez ensuite utiliser dans vos modules / templates.
Ces options sont très pratiques, car elle fonctionnent en accord avec le principe des sites / boutique / vues, donc aucun code n’est nécessaire pour gerer des valeurs différentes en multiboutique.
Etape 1 : Faites un module et déclarez le comme actif dans votre Magento.
Pour cela, rien de plus simple, téléchargez l’archive suivante et dezippez là dans votre dossier « app ».
Une fois decompresser, vous devriez voir apparaitre la nouvelle section dans votre menu de configuration du back-office magento -> Système -> Configuration.
Après avoir installé le module, vous devrez tout de même le déclarer via le fichier etc/modules/tellaw_Customconfig.xml présenté dans cet article.
Etape 2 : Créez le fichier de configuration du module :
Ce fichier sert à la déclaration de la configuration du module. Dans notre cas, il est minimal, car notre module ne fait pas grand chose.
1.0.0
Etape 3 : Créez le fichier adminhtml.xml :
Ce fichier permet de déclarer la nouvelle page du menu System correspondant à la nouvelle section.
My Custom Section 100
Etape 4 : Créez le fichier system.xml :
Ce fichier va declarer tous les champs, leur ordre, validations, relations… C’est la que vous définissez l’interface à mettre en place.
100 200 1 1 1 mycustom_tab Commentaire relatif au groupe 10 1 1 1 Commentaire Un tooltip 1 1 1 text
Etape 4 : Déclarez le helper :
Ce fichier n’est normalement pas obligatoire.
class Tellaw_Customconfig_Helper_Data extends Mage_Core_Helper_Abstract { }
Le helper n’est normalement pas obligatoire, mais j’ai eu de mon coté beaucoup de problèmes suite à l’absence de ce Helper lors de la création de module. Je préfère à présent l’avoir systématiquement présent.
Déclarez le module dans etc / modules
nom du fichier : Tellaw_Customconfig.xml
true local
Si vous obtenez une 404 sur la section ou Permission refusée (permission denied) :
le plus souvent cela provient d’un défaut de Magento. Pour activer votre nouvelle page de configuration, il faut aller dans la configuration des rôles, en éditer un (je n’ai dans le mien que Administrateur) et le sauvegarder.
Cette action force Magento à relire la configuration du fichier adminhtml.xml et active la page d’options que vous venez de mettre en place. Cette petite astuce permet d’éviter de longues heures de debugs d’un code souvent juste 🙂
Utiliser votre option de configuration
Pour lire la valeur de cette nouvelle option de configuration, il suffit d’utiliser la syntaxe :
// Syntaxe Mage::getStoreConfig('section/group/field'); // Dans notre exemple : $mavaleur = Mage::getStoreConfig('mycustom_section/mycustom_group/mycustom_field'); echo ($mavaleur);
Les Sources de ce tutorial :
Vous pouvez télécharger l’archive avec les sources de ce tutoriel en suivant ce lien.
Après avoir installé le module, vous devrez tout de même le déclarer via le fichier etc/modules/tellaw_Customconfig.xml présenté dans cet article.
Bonjour,
Pourriez-vous m’aider ? Je suis débutante avec Magento et je n’ai pas bien saisi certaines choses de votre article. Vous pouvez m’envoyer un mail pour que l’on puisse communiquer plus facilement si vous le voulez bien. Merci d’avance. Bien cordialement.
Smallbeetle
Bonjour,
merci pour cet excellent article, l’astuce consistant a créer un rôle et à le supprimer pour recharger la configuration vient de me sortir de l’impasse: je m’arrachais les cheveux a comprendre ce qui n’allait pas dans mon code …
Merci beaucoup pour ce tutoriel très bien expliqué. Magento n’est quand même pas si facile que ça 🙂
Bjr,
le fichier archive téléchargeable dans cet article n’est plus accessible