Nous allons voir les bases de la création d'un module à travers cet article.
Dans un premier temps, il va falloir
créer un dossier à la racine de PHPBoost contenant tous les fichiers du module.
Le choix du nom du dossier est important puisqu'il sera l'identifiant du module mais sera également présent dans les différentes urls.
Il est préférable de choisir un nom anglais pour rester cohérent avec le reste de PHPBoost.
Par exemple pour un module dictionnaire, il conviendrait parfaitement de choisir dictionary.
Plusieurs dossiers sont à créer dans le dossier de votre module :
Le fichier
config.ini contient toutes les informations relatives au module, à l'exception de son nom et de sa description, qui seront placés dans les dossiers de langue.
Il faut créer ce fichier
à la racine du module.
Celui-ci doit contenir au minimum les informations suivantes :
D'autres choix sont disponibles :
Insérez un copyright dans toutes les pages php de votre module. Celui-ci doit être de la forme suivante (remplacez les différentes valeurs par ce qui convient dans l'entête) :
Vous pouvez aussi utiliser une autre licence de la GPLv3 du moment qu'elle soit compatible GPLv3
Dans le dossier
lang, créez un premier sous-dossier :
french. Nous allons y créer deux fichiers : le fichier contenant la description du module et le fichier de langue utilisé pour le module.
Les étapes suivantes peuvent être reproduites pour ajouter la langue anglaise (avec la création d'un dossier
english) ou tout autre langue.
Créez le fichier
desc.ini dans le dossier
french.
Celui-ci doit contenir (dans la langue concernée, français dans cet exemple) :
Nous allons mettre en place le fichier
common.php qui sera utilisé dans les chapitres suivant. Commencez par y indiquer le nom de votre module (en remplaçant
ModuleName par le nom de votre module) comme suit :
Le générateur d'urls est utilisé pour éviter de réécrire à chaque fois chaque url. Il suffira d'appeler une de ses méthodes lorsqu'il est nécessaire de renvoyer vers une url ou d'afficher une url.
Créez le fichier
ModuleNameUrlBuilder.class.php dans le dossier
util de votre module.
Nous allons y placer deux méthodes pour le moment :
configuration() qui permettra de générer le lien vers l'administration du module et
home() qui permettra de générer le lien vers la page d'accueil du module :
Mise en place de la page d'index du module
La page
index.php permet de diriger l'affichage vers tel ou tel contrôleur en fonction de l'url appelée. Nous allons ici créer un premier lien vers le contrôleur d'administration du module si l'url de configuration est appelée. Pour mettre en place d'autres liens, il suffit d'ajouter d'autres
UrlControllerMapper() dans le tableau. Il est préférable d'avoir des connaissances en regex pour définir au mieux les urls.
Deux images doivent être placées à la racine de votre module :
[list]
[*]
ModuleName_mini.png qui doit être une image de 16 pixels de large et de long.
[*]
ModuleName.png qui doit être une image de 32 pixels de large et de long.
ModuleName étant le nom du dossier principal de votre module.
A ce stade là, votre module sera visible sur la page d'ajout d'un module dans l'administration.