!!! ATTENTION SCRIPT MAGENTO 1.4 !!!
Cette partie du tutoriel fonctionne parfaitement sur une Magento Community 1.6 mais est écrite dans les standards 1.4.3. Aussi la version standard 1.6 diffère. Je vous recommande donc la lecture du tutoriel annexe suivante:
Modèle de données magento version 1.6
A noter que par défaut le reste du tutoriel est basé sur cette version: 1.6 full Updated.
DÉCLARER LA TABLE SQL
Nous allons ici mettre en place une table dite en ‘flat’ par opposition au modèle eav, standard de magento.
Pour ce faire il faut d’abord déclarer les informations correspondant à la table dans magento. (n’oubliez pas que ce travail est certe long, mais permet une grande évolutivité et souplesse pour le reste de la vie de votre module)
Nous rajoutons ici plusieurs éléments, tout d’abord un bloc models et un resources.
Le bloc resources contient tout la partie autorisation de connexion à la BDD. Les éléments core_read, core_write, et core_setup étant définis dans app/etc/config.xml lui même étant complété par app/etc/local.xml.
Ceci pour dire que vous pourriez ici configurer en vous inspirant de ces deux derniers fichiers un autre utilisateur de connexion à la base de donnée si le besoin se présentait.
Le bloc models contient lui toute la partie implémentation de la classe model et de la classe resource model qui lui est associée. A noter que l’on définit ici le nom de la table ‘pushproduct’.
CRÉER LA TABLE
La table ne se créé pas directement dans mysql, mais via un script d’installation, c’est ce qui donne une réelle portabilité à votre module.
Nous allons donc créer le script d’installation :
Le fichier s’appelle ainsi car c’est un script d’installation de la version du module 0.1.0 (voir config.xml). Plus tard nous verrons que nous pouvons créer un script d’update qui sera exécuté lors de la modification du numéro de version du module dans le config.xml.
CRÉATION MODEL, MYSQL4, COLLECTION
CRÉATION DU MODELE
PARAMÈTRAGE MYSQL4
DÉCLARATION DE LA COLLECTION
EXEMPLE D’APPLICATION DE VOTRE MODULE
Vous pouvez désormais réaliser vos premiers essais, par exemple modifier le code du block ainsi:
Comme vous le voyez, pour obtenir la valeur d’un champ, il est suffisant d’utiliser la méthode magique get<Nomduchamp>(). Attention à ne pas oublier la majuscule au début du nom du champ.
Etape suivante : 5 – Traduction / Helpers
Besoin d’aide pour réaliser un module Magento ? Appelez nous et prenez rendez vous avec notre développeur magento.