Modules Magento
La souplesse des modules
Présentation
Pour ajouter un module Magento, aucun autre fichier que ceux présents dans le module ne doit être modifié.
Les modules sont sur :
- le site officiel de Magento Connect ;
- les sites personnels de certains développeurs
- les comptes GitHub
Firegento (association allemande des développeurs Magento) a créé le packagist Composer qui regroupe l'ensemble des modules Magento :
- des comptes Github
- des modules disponibles sur Magento Connect : les modules commandes tous par
connect20/
Installation via Magento Connect
- Se rendre sur la fiche d'une extension : http://www.magentocommerce.com/magento-connect/magento-community-modules-french-france-language-pack.html
- Copier/coller le code (il faut posséder un compte sur Magento Connect)
- Coller la clef dans
Système > Magento Connect > Magento Connect Manager
Installer un module manuellement
Maitriser le module à installer en inspectant en détail les fichiers à déployer est une meilleure méthode que de faire confiance à Magento Connect.
DDL Module Magento
- Télécharger l'archive d'un module Magento connect via DDL Freegento en utilisant la clef disponible via Magento Connect
- Déplacer les fichiers à la racine du Magento
- Vérifier que les fichiers de template sont bien (en frontend) dans
base/defaultet non dansdefault/default - (Optionnel) Vérifier que le module est bien dans app/code/community (et non app/code/local)
Intérêt
- Maîtrise des fichiers qui impactent le back-office et le front-office
- Possibilité de modifier les fichiers avant qu'ils ne modifient la base de données
- Compression du module, débuggage pour les surcharges, faciliter la désinstallation
- Installation du module dans la bonne interface, ou du moins sortir l'interface
default
Installer un module via Composer
Installation de composer :
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Pour plus d'informations sur Composer + Magento:
- Alan Storm : http://alanstorm.com/php_composer_magento_tutorial
- Magento Composer Installer : https://github.com/magento-hackathon/magento-composer-installer (indispensable)
- Listing des modules Magento compatible Composer : http://packages.firegento.com
- A noter :
- Toujours utiliser
--no-dev, cela évite de télécharger l'intégralité de l'arbre GIT - Toujours utiliser un numéro de version (au lieu de *)
- Il y a le choix entre copier les fichiers dans htdocs (pour ensuite les commiter) ou utiliser les liens symboliques
- Toujours utiliser
Ainsi pour un nouveau Magento, sur le dossier parent du dossier htdocs vide, il faut créer le fichier composer.json :
$ vi composer.json
Exemple d'installation d'un Magento entier via composer :
{
"require": {
"magento/core": "1.9.2.3"
"magento-hackathon/magento-composer-installer":"*",
},
"repositories": [
{
"packagist": false
},
{
"type": "composer",
"url": "http://packages.firegento.com"
}
],
"extra":{
"magento-root-dir": "htdocs/"
}
}
Lancer l'installation de Magento 1.9.2.3 avec le module
$ composer --no-dev install
Installation d'un module :
- Ajouter tout simplement
"pulsestorm/magento-better404":"dev-master"dansrequire - Puis mettre à jour les dépendances de Composer :
$ composer --no-dev update
Gérer les conflits des extensions
Utilisation du module Extension Conflicts
Utiliser l'extension de La Maison Du Logiciel : http://www.maisondulogiciel.com/default/magento/magento-extension-conflict.html
Les conflits arrivent généralement sur des surcharges de la même classe. Il faut faire hériter les modules en conflits entre eux, ainsi :
- Avant : B1 extends A & B2 extends A
- Après : B1 extends A & B2 extends B1
Formation Magento Developpeur
Magento 1.X