Développement d'un composant MVC - Développement d'un composant simple
From Joomla! Documentation
< J3.x:Developing an MVC Component
Les articles de cette série
Ajout d'un type de menu à la partie site
Ajout d'un modèle à la partie site
Ajout d'une requête de variable dans le type de menu
Utilisation de la base de données
Backend de base
Ajout de la gestion des langues
Ajout d'actions en backend
Ajout de décorations pour le backend
Ajout de vérifications
Ajout de catégories
Ajout de configuration
Ajout d'un fichier script installation/désinstallation/mise à jour
Ajout d'un formulaire de frontend
Utilisation du filtre de langues
- Ajouter une fenêtre modale
- Ajout d'associations
- Ajout de Checkout
- Ajout d'un filtre
- Ajout de niveaux
- Ajout de versions
- Ajout de tags
- Ajout d'accès
- Ajout d'un processus de traitement
- Ajout d'un cache
- Ajout d'un fil d'actualité
Ajout d'un serveur de mise à jour
Ceci est une série qui regroupe plusieurs articles pour devenir un didacticiel sur la façon de développer un Composant pour Joomla! suivant le principe Modèle-Vue-Contrôleur.
Commencez avec l'introduction, et naviguez dans les articles de cette série soit à l'aide des boutons de navigation en bas des articles, soit grâce au menu de droite : Les articles de cette série.
Notes
Ce didacticiel fait partie de la série de didacticiels sur le Développement d'un Composant MVC pour Joomla! 3.x. Vous êtes invité à lire les articles précédents de cette série avant de lire celui-ci.
Si vous avez déjà utilisé Joomla! avant la lecture de ce didacticiel, vous avez remarqué que les extensions sont installées à l'aide d'un fichier compressé contenant tout ce qui est nécessaire à leur installation et leur désinstallation.
Vous pouvez suivre les étapes ci-dessous pour créer le composant Hello World!, ou vous pouvez télécharger directement des fichiers depuis la référence git archive
Vous trouverez ci-dessous quelques diapositives basés sur cette documentation et permettant d'expliquer comment créer des composants Joomla! du plus simple au plus complexe.
Composant de base pour Joomla!
Composant complexe pour Joomla!
Plusieurs vidéos sont associées à cette étape du didacticiel, commençant par
Étape 1, Développer un Composant de Base ainsi que les diapositives qui sont utilisées pour une série de présentations vidéos.
Important! Autour de la version 3.8, les développeurs de Joomla ont commencé à modifier le nom des classes dans Joomla et leur emplacement dans la structure de répertoires. La plupart des étapes du didacticiel et des vidéos font référence à l’ancienne convention de dénomination. Pour trouver la nouvelle classe équivalente et son emplacement, recherchez dans votre fichier libraries / classmap.php.
Comment ajouter un composant à Joomla ?
Dans cet article, vous découvrirez comment créer et installer un composant de base pour Joomla. Dans cet exemple, nous allons travailler sur un composant : Hello World.
Pour commencer, vous devez utiliser votre gestionnaire de fichiers préféré pour créer un dossier qui contiendra notre composant "Hello World!". Ce dossier pourra être placé n'importe où dans votre dossier système, dès lors qu'il est à l'extérieur du répertoire d'installation de votre site Joomla. Dans notre exemple, nous allons nommer ce dossier : com_helloworld mais il peut être appelé indifféremment.
Ensuite et à l'intérieur de ce répertoire, nous avons besoin de créer des fichiers. À l'aide de votre gestionnaire de fichiers, il vous suffit de créer les fichiers suivants et dans lesquels vous devez ajouter, pour chaque fichier, le code source qui se trouve dans Détails des fichier.
1 | helloworld.xml | ceci est un fichier (manifest) XML qui va indiquer à Joomla! la façon d'installer notre composant. |
2 | site/helloworld.php | ceci est le point d'entrée pour le composant "Hello World!". |
3 | site/index.html | empêche le serveur web de lister le contenu du répertoire. |
4 | admin/index.html | empêche le serveur web de lister le contenu du répertoire. |
5 | admin/helloworld.php | ceci est le point d'entrée pour l'administration du composant "Hello World!". |
6 | admin/sql/index.html | empêche le serveur web de lister le contenu du répertoire. |
7 | admin/sql/updates/index.html | empêche le serveur web de lister le contenu du répertoire. |
8 | admin/sql/updates/mysql/index.html | empêche le serveur web de lister le contenu du répertoire. |
9 | admin/sql/updates/mysql/0.0.1.sql | fichier permettant d'initialiser le schéma de version du composant com_helloworld. |
Installation du composant
À l'aide de votre gestionnaire de fichiers préféré, créez un fichier .zip de ce dossier. Dans le cadre de cet exemple, nous allons nommer ce fichier com_helloworld.zip mais encore une fois, ce fichier pourrait avoir été nommé d'une façon totalement différente.
A ce stade, nous avons besoin d'installer le composant Hello World!. Il existe deux façons d'y parvenir qui sont décrites dans la page Installation d'une Extension. Ici, nous allons utiliser la méthode utilisant le gestionnaire d'extensions de Joomla.
- À l'aide de votre navigateur web préféré, accédez au panneau d'administration de votre site Joomla. L'adresse devrait être: <votreSite>/joomla/administrator/index.php. Pour notre exemple, nous allons naviguer vers localhost/joomla/administrator/index.php.
- Cliquez sur Extensions → Gérer → Installer → Archive à envoyer → Choisissez un fichier.
- Naviguez et sélectionnez votre fichier
- Cliquez sur Envoyer & Installer.
Remarque : vous devriez voir un message s'afficher et vous permettant de savoir si l'installation est un succès ou non.
Vous pouvez tester cette fonctionnalité de base du composant en renseignant la page Hello World! depuis le frontend du site et depuis l'interface d'administration.
- À l'aide de votre navigateur web préféré, naviguez jusqu'à la page Hello World! de votre composant depuis le frontend de votre site web. L'adresse devrait être : <votreSite>/joomla/index.le php?option=com_helloworld. Dans notre exemple, l'adresse localhost/joomla/index.le php?option=com_helloworld nous permettra d'accéder à cette page.
- À l'aide de votre navigateur web préféré, naviguez jusqu'à la page Hello World! de votre composant depuis le backend de votre site web. L'adresse devrait être : <votreSite>/joomla/administrator/index.le php?option=com_helloworld. Dans notre exemple, l'adresse localhost/joomla/administrator/index.le php?option=com_helloworld nous permettra d'accéder à cette page.
Vous pouvez également remarquer que le composant "Hello World!" est visible dans l'interface d'administration de votre site Joomla! dans le menu Composants.
Détails du fichier
admin/sql/updates/mysql/0.0.1.sql est un fichier vide permettant d'initialiser la version de schéma du composant com_helloworld.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!-- The version string is recorded in the components table -->
<version>0.0.1</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Site Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package -->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
</files>
<administration>
<!-- Administration Menu Section -->
<menu link='index.php?option=com_helloworld'>Hello World!</menu>
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<!-- Admin Main File Copy Section -->
<filename>index.html</filename>
<filename>helloworld.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
</files>
</administration>
</extension>
site/helloworld.php
Hello World
admin/helloworld.php
Hello World administration
index.html
commun à tous les dossiers
<html><body bgcolor="#FFFFFF"></body></html>
Contenu du composant
À ce stade du didacticiel, votre composant doit contenir les fichiers suivants :
1 | helloworld.xml | un fichier (manifest) XML qui va indiquer à Joomla! la façon d'installer notre composant. |
2 | site/helloworld.php | ceci est le point d'entrée pour le composant "Hello World!". |
3 | site/index.html | empêche le serveur web de lister le contenu du répertoire. |
4 | admin/index.html | empêche le serveur web de lister le contenu du répertoire. |
5 | admin/helloworld.php | ceci est le point d'entrée pour l'administration du composant "Hello World!". |
6 | admin/sql/index.html | empêche le serveur web de lister le contenu du répertoire. |
7 | admin/sql/updates/index.html | empêche le serveur web de lister le contenu du répertoire. |
8 | admin/sql/updates/mysql/index.html | empêche le serveur web de lister le contenu du répertoire. |
9 | admin/sql/updates/mysql/0.0.1.sql | fichier permettant d'initialiser le schéma de version du composant com_helloworld. |
Une référence git mise à jour à la suite de ce tutoriel est disponible @ https://github.com/Stevec4/Joomla-HelloWorld pour toute modification ou modification de code, veuillez effectuer une demande pull request.