Le squelette d'un module
Supposons que nous voulions créer un nouveau module ayant pour nom monmodule.
Il faut créer un fichier nommé monmodule.php et éventuellement un fichier monmodule.ini et monmodule.opt
Tout d'abord, le fichier monmodule.php
Ce fichier contient la déclaration de votre classe, qui doit dériver de la classe de base Tmodule.
Le nom de la classe commence obligatoirement par la lettre T suivi du nom de la classe en minuscule.
Soit dans notre exemple Tmonmodule.
Il n'y a qu'une seule fonction membre à définir : dojob() qui effectue le travail à faire et renvoie en résultat une chaine HTML à afficher.
Vous pouvez voir le fichier savesite.php pour une exemple simple de module (de sauvegarde du site en l'occurence)
Code du module de base |
<?php /* Copyright: Nom_auteur_du_module 2009 class Tmonmodule extends Tmodule { function dojob($opt="") { parent::dojob($opt); // Début de votre code // Code de démo (début) // Fin de votre code } }
|
Maintenant le fichier monmodule.ini
Ce fichier va contenir les différents messages ou valeurs qui peuvent être affichés par votre module.
Le fichier .ini minimum est le suivant
lang="FR" |
La première ligne du fichier doit contenir lang="FR" pour fichier la langue par défaut du module au français
Ensuite viennent une ou plusieurs sections de langues.
Une section commence par [ Code_de_langue ]
Pour l'instant, code_de_langue peut prendre les valeur FR, EN, DE et IT , respectivement pour le français, l'anglais, l'allemand et l'italien. Pour le français, on aura donc [FR]
Dans chaque section, on va définir une ou plusieurs constante sont la forme:
nom_de_la_constante = "valeur_de_la_constante"
Pour définir la constante titre du module à Ceci est mon premier module on va écrire:
titre="Ceci est mon premier module"
Important:
-
La constante admin est obligatoire. Elle fixe le nom du module dans le menu de navigation administrateur. Si vous ne souhaitez pas que le menu figure dans ce menu, définissez la constante ainsi: admin=""
- Si une constante est défini pour une section de langue, elle doit être défini pour toutes les sections de langue
-
Le fichier ini n'est pas fait pour stocker des valeurs de configuration et votre module ne doit jamais écrire dans ce fichier. Il doit être compris comme un fichier de constante.
Pour définir des paramètres de configuration, il faut utiliser le fichier de configuration défini ci-après
Exemple de fichier ini
lang = "FR" [FR] admin = "Nom court de mon module dans le menu" title = "Titre de mon module" [EN] admin = "Short Name of mon module in the menu" title = "Title of mon module" |
Maintenant, vous pourrez utiliser dans le module, la fonction get_message("title") pour connaitre la valeur du message "title dans le langue en cours (FR actuellement)
Par exemple:
$this->get_message("title")
Maintenant le fichier monmodule.opt
Ce fichier (qui peut ne pas être présent) va contenir la définition des paramètres utilisés par le module.
La gestion de la configuration du module (affichage, modification des valeurs) est alors automatiqument prise en charge par ZitePLUS.
Exemple de fichier opt:
fontsize="int;30" |
La structure du fichier est ainsi défini:
Une ligne par champ optionel à définir, constitué ainsi
nom_du_champ="Type_de_champ;valeur_par_defaut;autre"
Avec pour Type_de_champ:
- bool : champ booléen 0 ou 1
- list : une liste de valeurs (présenté à l'utilisateur comme une liste déroulante paramétrable)
- int : un entier
- string : une chaine de caractère
- mask : une chaine de caractère qui respecte un certain modèle
- docimg : un document image
- page : une page de ZitePLUS
- color : une couleur (qui pourra être sélectionnée par l'utilisateur à la souris dans une palette de couleur)
- pixel : un nombre de pixel écran
- read : une chaine en lecture seule
Cette liste évolue à chaque version de ZitePLUS
Lorsque le module est initialisée, c'est la valeur_par_défaut qui est utilisée comme valeur initiale.
Il est possible de définir pour chaque paramètre le nom qui sera affiché dans l'écran de configuration, ainsi que deux descriptions. Ces valeurs doivent se mettre dans le fichier des messages du modules. Dans cette exemple, le fichier monmodule.ini.
Par exemple, pour le paramètre "fontsize" , on pourrait avoir dans le fichier .opt la ligne
fontsize="int;30"
et dans le fichier .ini les lignes
fonsize="Taille du titre"
fonsize_desc="Défini le titre de l'article"
fontsize_desc2="Ce paramètre optionnel va permettre de définir la taille du titre d'un article du journal en ligne"
Maintenant, vous pourrez utiliser dans le module, la fonction getOption("nom_option") pour connaitre la valeur d'un paramètre.
Par exemple:
$this->getOption("fontsize")
.
Dernière modification le 07/03/2013