Dévélopper un module additionnel PHPBOOST

Cette page montre de manière très brève les différentes étapes à suivre. Pour plus de détails cliquez-ici.

Un module=1 répertoire
Créer un dossier "mymodule" à la racine de votre site.

Les langues : Important pour l'internationalisation du site.
Créer le fichier : mymodule/lang/french/mymodule_french.php

Dans le fichier mymodule_french.php, placez le contenu suivant :
Code PHP :
 
<?php
global $MYMODULE_LANG;
$MYMODULE_LANG = array();
$MYMODULE_LANG['hello_world'] = 'Bonjour tout le monde !';
?>


Les templates : l'interface utilisateur
Créer le fichier : mymodule/ templates/mymodule.tpl
Dans le fichier mymodule.tpl, placez le contenu suivant :
Code TPL :
Mon premier module PHPBoost qui affiche : {L_HELLO_WORLD}


Le fichier de configuration
Contient des informations qui pourront être utiles pour les personnes qui seront amenées à utiliser le module et également pour le noyau du site. Le fichier de configuration dépend de la langue et doit donc être dans le dossier lang/malangue.
Dans notre cas créer le fichier : lang/french/config.ini
Dans le fichier config.ini, placez le contenu suivant :


Code TEXT :
 
name="Mon Module"
author="Moi"
author_mail="moi@mail.com"
author_link="http://www.votresite.com"
version=1.0
info="Mon module de test."
date="01/09/09"
compatibility="3.0"
admin=""
admin_links=""
css=0
cache=0
sql_table=0
starteable_page=""
contribution_interface=""
com=""
note=""
mini_module=""
url_rewrite=""



* name : Nom de votre module.
* author : Auteur(s) du module.
* author_mail : Mails des auteur(s) du module.
* author_link : Site web des auteur(s) du module.
* version : Version du module.
* info : Description du module.
* date : Date de création.
* compatibility : Numéro de version du noyau compatible avec ce module.
* admin : Possède un panneau d'administration? Mettre 1 si oui, 0 si non.
* admin_links: Permet d'afficher des sous menus dans l'administration dans les listes déroulantes. La chaine doit être formaté comme un tableau php sans mettre la structure de language array.
* css : Utilise un css alternatif ? Mettre 1 si oui, 0 si non.
* cache : Utilise le cache? Mettre 1 si oui, 0 si non.
* sql_table : Nombre de table SQL utilisées.
* starteable_page : Possède une page de démarrage? Mettre la page si oui, laissez vide si non.
* moderation_panel : Possède un panneau de modération ? Mettre 1 si oui, 0 si non.
* config : Possède une entrée dans la table de configuration ? Mettre 1 si oui, 0 si non.
* com : Intègre un système de commentaires ? Mettre 1 si oui, 0 si non.
* mini_module : Le module possède un mini module associé? Mettre 1 si oui, 0 si non.
* url_rewrite : Si non vide, ajoute une règle de réecriture au fichier .htaccess, pour en savoir plus consultez l'article url rewriting


L'interface de communication: Permet l'inter-communication entre votre module et les autres modules et aussi le noyau. Cette interface est matérialisée par le fichier mymodule_interface.class.php à créer à la racine de votre module. Elle permet de spécifier les appels auxquels votre module peut répondre.
Créez un fichier mymodule_interface.class.php à la racine de votre module et placez-y le contenu suivant :

Code PHP :
 
<?php
import('modules/module_interface');
 
// Classe MymoduleInterface qui hérite de la classe ModuleInterface
class MymoduleInterface extends ModuleInterface
{
    function __construct() //Constructeur de la classe MymoduleInterface
    {
        parent::ModuleInterface('mymodule');
    }
}
?>
 

Pour implémenter des fonctionnalités telle la recherche globale, vous verrez que c'est dans cette interface qu'il faut travailler.

Exécution du module
Créez une page index.php à la racine de votre module et placez y le contenu suivant :
Code PHP :
 
<?php header('location: ./mymodule.php'); ?>
 

La page mymodule.php sera la page principale de votre module. C'est celle-ci qui sera chargée de l'affichage et contiendra les liens vers les autres pages accessibles du module.
Créez donc une page mymodule.php à la racine de votre module et placez-y le contenu suivant :
Code PHP :
 
<?php
require_once('../kernel/begin.php'); //Charge les éléments essentiels de PHPBoost
require_once('../kernel/header.php'); //Charge le début de l'environnement graphique de PHPBoost
 
load_module_lang('mymodule'); //Charge le fichier langue
 
$tpl_mymodule = new Template('mymodule/mymodule.tpl');
$tpl_mymodule->assign_vars(array(
    'L_HELLO_WORLD' => $MYMODULE_LANG['hello_world']
));
$tpl_mymodule->parse();
 
require_once('../kernel/footer.php'); //Charge la fin de l'environnement graphique de PHPBoost
?>
 



Ce code mérite quelques explications :

* Nous avons ici chargé l'environnement de PHPBoost (begin.php), c'est ce fichier qui est responsable de charger le noyau.
* Puis nous avons chargé l'environnement graphique (header.php).
* Nous créons ici un nouvel objet Template, qui va nous permettre de manipuler notre template mymodule.tpl précédemment créé.
* Nous lui assignons, avec la méthode Template::assign_vars(), une variable L_HELLO_WORLD. Celle-ci est présente dans le template et nous lui affectons la valeur de la variable de langue que nous avions créée dans le fichier lang/french/mymodule_french.php.
* Enfin la méthode Template::parse, réalise le remplacement dans le template et affiche le résultat sur la sortie standard
* Pour finir nous avons chargé la fin de l'environnement graphique (footer.php) qui clôt la page et réalise l'affichage final.

Installation du module
Créer le fichier mymodule/db/french/mymodule.mysql.sql

Nous laisserons ce fichier vide car notre module n'a pas besoin de base de données pour l'instant. Ce fichier SQL sera exécuté à l'installation du module et permet de créer et initialiser la base de données du module.

Désinstallation du module

Il faut prévoir que votre module peut être désinstallé. Dans notre cas il n'utilise pas la base de données donc il n'y a rien de spécial à faire lors de la désinstallation.

Il suffit de créer un fichier vide appelé uninstall_mymodule.mysql.sql dans le répertoire db/french/ créé à l'étape précédente.

Test du module
Vous pouvez désormais vous rendre dans l'administration. Cliquez sur Modules, puis Ajouter un module. Votre module devrait être présent dans la liste, il suffit alors de cliquer sur installer.

Votre module est désormais installé, vous pouvez le tester en vous rendant à l'adresse suivante : votresite/mymodule/mymodule.php.
Si tout s'est bien passé vous devriez voir s'afficher à l'écran, au centre de la page : Mon premier module PHPBoost qui affiche : Hello World !

Et après ?
Nous vous invitons également à consulter tout ce que vous pouvez trouver dans cette catégorie de la documentation, vous découvrirez comment tirer partie de l'environnement PHPBoost, notamment grâce à son framework.

Enjoyed this article? I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter, Facebook or Linked In.

Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Avez vous aimé cet article? Je vous serais très reconnaissant si vous aidiez à sa diffusion en l'envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook ou Linked In.

Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!





Cette page a été vue 6523 fois