Développer 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 3795 fois
Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons