Joomla:ComposantBack

De Wiki Fred
Aller à : navigation, rechercher

__NOTITLE__

Création d'un composant - Partie Administration

Pour commencer

La partie administration d'un composant doit respecter le modèle MVC.


Pour cet article il est convenu que :


Par convention :

  • Le répertoire com_moncomposant et tous ses sous-répertoires doivent contenir le fichier index.html suivant :
1 <html><body bgcolor="#FFFFFF"></body></html>
  • Tous les fichiers PHP doivent commencer par
1 // No direct access
2 defined('_JEXEC') or die('Restricted access');


Les fichiers de base

Pour respecter les conventions, être installé et fonctionner, un composant doit au minimum contenir :

  • index.html
  • Le fichier de point d'entrée de la partie administration du composant. Par défaut, joomla recherchera un fichier moncomposant.php (nom du composant sans le préfixe com_ - voir plus bas) ou admin.moncomposant.php. Par convention, il se nommera admin.moncomposant.php.
1 <?php
2 // No direct access
3 defined('_JEXEC') or die('Restricted access');
4 ?>
5 Hello World !
  • Le fichier xml de description. Par défaut, joomla parse tous les fichiers xml présents dans l’arborescence du composant à la recherche de la balise <extensions>. Le nom du fichier n'a donc aucune importance mais convention il se nommera moncomposant.xml. La description de la partie administration doit se trouver dans la balise <administration>.
 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <extension version="2.5" type="component" method="upgrade">
 4 
 5     <name>com_moncomposant</name>
 6     <version>1.0.0</version>
 7 
 8     <author>Auteur du composant</author>
 9     <creationDate>Mai 2012</creationDate>
10 
11     <description>Description du composant</description>
12 	
13 	<files>
14 	</files>
15 	
16 	<administration>
17 		<files>
18 			<filename>index.html</filename>
19 			<filename>admin.moncomposant.php</filename>
20 		</files>
21 	</administration>
22 	
23 </extension>
  • Pour joomla, le nom du composant est déterminé sur base du contenu de la balise <name>. De ce contenu seront enlevés les espaces et certains caractères spéciaux et les majuscules seront remplacées par des minuscules. Joomla ajoutera ensuite le préfixe com_ si celui-ci n'est pas déjà présent.

Par exemple <name>Mon Composant DE Base<name> créera un composant com_moncomposantdebase. C'est ce nom qui servira entre autres à la création des différents répertoires lors de l'installation du composant.

  • Les balises <version>, <author>, <creationDate> et <description> ne sont pas obligatoires mais recommandées.


Installation et Premier test

  • Pour pouvoir être installé le répertoire com_moncompsant doit être archivé dans un fichier zip.
  • Lors de l'installation du composant via l'archive com_moncomposant.zip :
  • les répertoires joomla/components/com_moncomposant et joomla/administrator/components/com_moncomposant/ (pour la partie administration) seront créés. Ce dernier contiendra les fichier index.html, moncomposant.xml et admin.moncompsant.php.
  • Une entrée sera ajoutée au menu Composants du panneau de configuration avec le nom du composant (com_moncomposant) et une icône par défaut.
  • La liste des composants sera mise à jour

Module admin 1.png

Module admin 3.png


Avant de poursuivre

Pour respecter les conventions :

  • la partie front du composant sera placée dans un sous-répertoire site
  • le partie back (administration) du compsant sera placée dans un sous-répertoire admin
  • le fichier index.html sera également placé dans la partie front


Un composant de base aura donc la structure suivante :

Com admin 4.png


et le fichier de description moncomposant.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <extension version="2.5" type="component" method="upgrade">
 4 
 5     <name>com_moncomposant</name>
 6     <version>1.0.0</version>
 7 
 8     <author>Auteur du composant</author>
 9     <creationDate>Mai 2012</creationDate>
10 
11     <description>Description de mon composant</description>
12 	
13 	<files folder="site">
14 		<filename>index.html</filename>
15 	</files>
16 	
17 	<administration>
18 		<files folder="admin">
19 			<filename>index.html</filename>
20 			<filename>admin.moncomposant.php</filename>
21 		</files>
22 
23 	</administration>
24 	
25 </extension>


Le contrôleur