Référencer un module magento
novembre 8, 2009 2 CommentairesLa première étape de création d’un modulemagento est son référencement au sein de L’application. Nous allons voir dans ce tutoriel les différentes façons d’ajouter un module à magento.
Le dossier des modules
Magento commence par lire le contenu du dossier app\etc\modules\
Les modules sont référencés comme ceci :
-NameSpace + le nom du module => Monnamespace_monnomdemodule.xml
ou
-NameSpace + All si le (NameSpace contient plusieurs modules) =>Monnamespace_All.xml
Créer un module
La première étape de création d’un module est sont référencement au sein de magento. Vous devez allez dans le dossier
app\etc\modules\
Et rajouter votre module comme ceci NameSpace + Nomdumodule => Monnomdossier_Monmodule.xml.
A l’intérieur de ce fichier, placez ce code :
<?xml version="1.0"?> <config> <modules> <Monnamespace_Monmodule> <!-- NameSpace( dossier) + nom du module--> <active>true</active> <!--actif ou pas--> <codePool>local</codePool> <!--nom du dossier où se trouve le nameSpace --> </Monnamespacer_Monmodule> </modules> </config>
Explication du code
Magento référence le module et le met en actif. Grâce à « codePool », magento ira le chercher dans le dossier local
\app\code\local\
C’est à l’intérieur de ces noeuds xml que l’on définit l’emplacement du module grâce Ã
<codePool>core</codePool>
Trois emplacements sont disponibles :
community : module de la communauté
core : module de magento
local : module que vous développez
Vous pouvez retenir ceci le module se trouve dans
<codePool>local</codePool> + <Monnamespace_Monmodule> => app\code\local\Monnomdossier\Monmodule
Cette procédure est bien pour l’ajout d’un seul module dans un nouveau NameSpace. Quand on crée plusieurs modules, on peut les référencer dans un seul fichier =>Namespace_All.xml.
Créer plusieurs modules dans un même nameSpace
Pour référencer plusieurs modules, on peut les regrouper dans un fichier de ce type :
NameSpace + All => Monnamespace_All.xml, c’est la cas pour les modules principaux de magento, ils sont regroupés dans Mage_All.xml. Le fichier Mage_All.xml contient toutes les déclarations de modules principaux de magento
<Mage_Admin> , <Mage_Customer> ,<Mage_Catalog>...etc
Pour référencer plusieurs modules au sein du même namespace, il suffit de placer ce code à l’intérieur du fichier Monnamespace_All.xml :
<config> <modules> <Namespacemodule_Nomdumoduleun> ... </Namespacemodule_Nomdumoduleun> <Namespacemodule_Nomdumoduledeux> ... </Namespacemodule_Nomdumoduledeux> </modules> </config>
Une fois référencés les modules sont activables et désactivables par le back office de magento => systeme => configuration => avancé => avancé => Désactiver la sortie des modules.

Les modules visiblent dans le back office de magento
Suite à ce tutoriel, vous pouvez lire les tutoriels sur la création de modules magento.

Pour le dernier point, le Back Office ne marche pas systématiquement pour activer/désactiver les modules. Il faut des fois le faire à la main dans le XML…
Merci pour la précisions. Je n’ai jamais rencontre de problème pour activer ou désactiver un module via le back office si ça m’arrive je le ferais vis le XML.