| Création d'un plugin Joomla |
| Vendredi, 21 Mai 2010 08:24 | |
|
Nous allons nous intéresser aux plugins du CMS Joomla 1.5. Pour rappel les plugins sont des scripts permettant d'effectuer certaines tâches sur le site comme l'ajout de fonctionnalités ou d'enrichir certaines données. 1. Architecture des pluginsIl existe de base plusieurs types de plugins, chacun s'exécutant à un endroit précis dans Joomla! et pour chacun existe un sous-dossier dans le dossier plugins. La liste est la suivante :
Il n'existe, généralement, qu'un seul fichier pour un plugin, que Joomla atteint de la manière suivante :
L'architecture même des plugins est de faite très simplifiée. Elle est généralement la suivante :
Il est bon de noter qu'il n'existe pas de plugins dans le backend de Joomla. 2. Plugin de recherche HelloWorldTerminons ce tour d’horizon en permettant à la fonction de recherche standard de Joomla! de scruter les données gérées par notre nouveau composant. À cet effet, nous devons concevoir un plugin du type search. Au niveau des plugins, il n’y a pas de sous-dossier pour chacun d’eux, mais seulement un sous-dossier par type de plugin comme nous l'avons vu. Nous allons donc travailler dans le sous-dossier [CheminJoomla]/plugins/search puisque c’est un plugin de recherche. Il faut prévoir au minimum un fichier PHP pour la logique de recherche (Listing 1) et le traditionnel fichier XML de description pour l’installateur. Les noms des fichiers doivent dériver du nom du composant qui est ainsi enrichi, les deux fichiers s’appelleront donc hello.php et hello.xml. Dans notre exemple, nous faisons directement référence au composant com_hello. Comme les autres extensions, les plugins doivent être inscrits dans une table de gestion, qui s’appelle dans ce cas jos_plugins. L’installateur se charge d’ajouter un enregistrement dans cette table. Notre fonction de recherche est assez complète et pourrait être rendue encore plus souple en prévoyant des paramètres. Le code source qui suit donne une idée des possibilités. Notre composant ne conserve pas trace de la date de création des enregistrements ni du nombre d’accès à chacun d’eux (nous n’avons pas prévu de page des détails). De nombreuses possibilités de recherche restent donc inutilisées ici. <?php Code source de hello.php Le fichier d’installation hello.xml contient la description des fichiers du plugin Installez le plugin puis activez-le par la commande Extentions > Gestion des plugins. Vous pouvez essayer de faire chercher un terme n’existant que dans les données du composant. Les deux champs du type et du constructeur sont scrutés dans la base et les résultats affichés dans le masque de résultat de recherche standard de Joomla!. Ce plugin est volontairement simple. Il faudrait par exemple ajouter un lien dynamique dans les résultats de recherche pour se rendre directement à la vue détaillée de l’enregistrement trouvé. Mais nous n’avons pas prévu dans le composant de vue détaillée et ne pouvons donc pas mettre en place un tel lien.
|
