web-dev-qa-db-fra.com

Comment développer un module Joomla?

J'ai cherché un tutoriel à ce sujet, mais je n'arrive pas à trouver quelque chose de satisfaisant. Comment faites-vous un nouveau module pour joomla?

Actuellement, j'utilise des modules HTML personnalisés dans tout mon code, et j'aimerais pouvoir accéder à PHP et les transformer en un module, mais je n'ai pas trouvé de J'ai déjà modifié des modules installés auparavant, mais je ne sais pas en créer un qui sera installé.

La documentation de joomla est assez déroutante et après l'avoir lue à plusieurs reprises, j'ai abandonné. Quelqu'un peut-il m'aider à expliquer ce processus? Merci!

10
serakfalcon

Apprentissage du développement de modules Joomla

J'ai appris en étudiant et en personnalisant les modules de base ou d'autres modules tiers.
Les modules en tant que concept sont plus simples que les composants (nous pourrions dire qu’il s’agit de 2 applications front-end/back-end) et sont conçus pour afficher une information.
Donc, si vous ouvrez le dossier/les fichiers du module et commencez à lire le code, vous y arriverez probablement rapidement.

Module Joomla Anatomie par l'exemple

Par exemple, vous pouvez ouvrir le module Derniers articles de 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

  1. Le mod_articles_latest.php est le fichier principal des modules, celui qui est utilisé en premier lorsque le module est appelé. Il initialise le module et inclut le helper.php, Appelle la méthode de classe de l'aide pour récupérer des données et inclut enfin le modèle du module (default.php) Pour afficher les données.

  2. Le fichier helper.php est la "machine" du module (si nous pouvions le nommer ainsi). Dans l'assistant, nous créons la classe du module et ses méthodes pour récupérer les données. C'est l'endroit où nous pouvons avoir le module "parler" avec la base de données. En lisant le code dans le fichier d’aide de ce module, vous verrez qu’il contient le ModArticlesLatestHelper Class , qui en a un Méthode: getList(&$params).
    Dans 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 méthode JModelLegacy::getInstance pour renvoyer l'objet Content Model .

  3. Le default.php est le modèle principal du module et est responsable de l'affichage du contenu du module. - Ici, nous construisons la sortie html, en utilisant les données que vous avez précédemment récupérées 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 inclut le fichier de modèle avec la méthode JModuleHelper::getLayoutPath, qui vérifie d’abord la présence de remplacements de modèles.

  4. Enfin, le mod_articles_latest.xml je l'appellerais comme "l'ambassadeur" du module. C'est le fichier qui "introduit" le module dans Joomla lors de l'installation, il spécifie les fichiers qui seront copiés par le programme d'installation et contient également les informations sur les paramètres du module utilisés par le gestionnaire de module, ainsi que des informations supplémentaires. à propos du module.

Ce sont les éléments essentiels d’un module de base. Un autre aspect à considérer est la prise en charge de plusieurs langues. Ceci peut être réalisé en utilisant Chaîne de langue et fichiers de traduction de langue . Si vous avez réussi jusqu'ici à créer un module de base, la prise en charge des langues devrait être assez simple.

17
FFrewin
15
Peter Wiseman

Nous avons développé un module gratuit dans le même but Custom PHP pour Joomla CMS .

Vous devez créer un fichier PHP, par exemple, login.php dans [website-root]/modules/mod_customphp/files

  • Maintenant pour utiliser ce fichier
  • Allez dans [backend] -> module-manager
  • Créer un nouveau module php personnalisé
  • En paramètre includefile put login
  • Cela rendra login.php dans le module.
3
Shyam

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, vous venez de faire un fichier zip de votre module. Ce fichier zip que vous pouvez installer dans votre installation de joomla.

Avez-vous besoin de plus de détails sur le changement de nom?

3
seagul