Apprendre le développement de modules Joomla
J'ai appris en étudiant et en personnalisant le noyau ou d'autres modules tiers.
Les modules en tant que concept sont plus simples que les composants (que nous pourrions dire sont 2 applications front-end / back-end) et sont conçus pour afficher une information.
Donc, si vous ouvrez le dossier / fichiers du module et commencez à lire le code, vous y arriverez probablement rapidement.
Exemple d'anatomie du module Joomla
Par exemple, vous pouvez ouvrir le module Derniers articles dans Joomla 3.2 et vérifier son code, tout en lisant les lignes ci-dessous. Dans le dossier du module, nous trouverons les 4 fichiers de base:
1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4.mod_articles_latest.xml
C'est mod_articles_latest.php
le fichier principal des modules, celui qui est utilisé en premier lors de l'appel du module. Il initialise le module et inclut le helper.php
, appelle la méthode de classe de l'assistant pour récupérer des données et inclut enfin le modèle du module ( default.php
) pour afficher les données.
Le helper.php
fichier est la "machinerie" du module (si on peut le nommer ainsi). Dans l'aide, nous créons la classe du module et ses méthodes pour récupérer les données. C'est l'endroit où l'on peut faire "parler" le module avec la base de données. La lecture du code dans le fichier d'aide de ce module, vous verrez qu'il contient la ModArticlesLatestHelper
classe , qui a une méthode:getList(&$params)
.
Dans le cadre de cette méthode, le module vérifie les paramètres d'arrière-plan du module et, éventuellement, crée la liste des articles qu'il renverra, en fonction de ces conditions. Notez que ce module utilise la JModelLegacy::getInstance
méthode pour renvoyer l' objet de modèle de contenu .
Le default.php
est le modèle principal du module et chargé d'afficher le contenu du module. - Ici, nous construisons la sortie html, en utilisant les données que vous avez récupérées précédemment dans le mod_articles_latest.php
en appelant la classe du module. Il se trouve dans le dossier tmpl . * Notez que le fichier du module principal comprend le fichier de modèle avec la JModuleHelper::getLayoutPath
méthode, qui vérifiera d'abord les remplacements de modèle.
Enfin, mod_articles_latest.xml
je l'appellerais comme "l'ambassadeur" du module. C'est le fichier qui "présente" le module à Joomla lors de l'installation, il précise les fichiers qui seront copiés par l'installateur, et contient également les informations sur les paramètres du module qui sont utilisées par le gestionnaire de module, ainsi que des informations supplémentaires sur le module.
Ce sont les parties essentielles d'un module de base. Un autre aspect que vous voudrez peut-être considérer est le support de plusieurs langues. Cela peut être réalisé en utilisant des fichiers de chaînes de langue et de traduction de langue . Si vous auriez réussi jusque-là, pour créer un module de base, l'ajout de la prise en charge des langues devrait être assez simple.
Vous pouvez copier un module existant dans une installation locale. Ensuite, vous le renommez comme vous le souhaitez. Vous devez également renommer les fichiers php et xml ainsi que les noms de classe php dans le code. Ensuite, il vous suffit de créer un fichier zip de votre module. Ce fichier zip que vous pouvez installer dans votre installation joomla.
Avez-vous besoin de plus de détails sur le changement de nom?
la source