Développement module: Difference between revisions

Line 215: Line 215:
Saisissez ensuite votre code pour afficher la page.
Saisissez ensuite votre code pour afficher la page.


=== Créer une page écran PHP par template Smarty ===
=== Remplacer les parties d'écrans templaté (version 3.3+) ===
==== Compléter votre descripteur de module ====
Certaines portion d'écran de Dolibarr sont isolés dans des fichiers templates.
Dans votre descripteur de module, compléter la déclaration du tableau this->const afin d'ajouter la constante MAIN_MODULE_monmodule_NEEDSMARTY.
Vous pouvez développer un moduler pour remplacer un ou plusieurs de ces templates par les votres.
<source lang="php">
{{ACompleter}}
$this->const=array(1=>array('MAIN_MODULE_MONMODULE_NEEDSMARTY','chaine',1,'Need smarty',0));
</source>
 
Ceci aura pour effet, lors de l'initialisation de l'objet $conf, de remplir le tableau $conf->need_smarty des modules qui ont besoin de smarty et si au moins un module est requis, le code dans main.inc.php chargera systématiquement les librairies de Smarty.
 
==== Réaliser vos pages templates ====
Construisez vos pages templates (fichiers '''mespages.tpl''') dans le répertoire '''htdocs/monmodule/templates'''.
 
==== Réaliser vos pages PHP ====
Réaliser vos pages écrans PHP Dolibarr en suivant le modèle décrit dans cette documentation.
La différence est qu'à la fin, pour afficher la présentation HTML, il vous faut ajouter la séquence suivante:
<source lang="php">
$smarty->template_dir = DOL_DOCUMENT_ROOT.'/monmodule/templates/';
$mc->assign_smarty_values($smarty,$_GET["action"]);
$smarty->display($template);
</source>
L'objet $smarty n'a pas à être initialisé, il est normalement déjà défini (sur la base de Smarty intégré dans Dolibarr), si votre descripteur de module a bien déclaré avoir besoin de smarty et que le module a bien été activé après cela.


=== Accès à la base ===
=== Accès à la base ===