Changes

Jump to navigation Jump to search
Line 189: Line 189:     
Y recopier le fichier '''skeletons_page.php''' qui va servir de point de départ.
 
Y recopier le fichier '''skeletons_page.php''' qui va servir de point de départ.
Modifier le fichier afin que le chemin relatif du
+
Modifier le fichier afin que le main.inc.php soit trouvés
 
<source lang="php">
 
<source lang="php">
include("../../main.inc.php)";
+
$res=0;
 +
if (! $res && file_exists("../main.inc.php")) $res=@include("../main.inc.php"); // for root directory
 +
if (! $res && file_exists("../../main.inc.php")) $res=@include("../../main.inc.php"); // for level1 directory ("custom" directory)
 +
if (! $res && file_exists("../../../main.inc.php")) $res=@include("../../../main.inc.php"); // for level2 directory
 +
if (! $res) die("Include of main fails");
 
</source>
 
</source>
soit correct, en fonction de la profondeur de répertoire dans laquelle se trouve le fichier (Enlever ou supprimer des "../").
+
en fonction de la profondeur de répertoire dans laquelle se trouve le fichier (Enlever ou supprimer des "../").
 +
 
 +
Pour tous les modules développés après la version 3.2 de Dolibarr, il convient de pouvoir déplacer le dossier du module soit dans '''htdocs''' soit dans '''htdocs/custom''' sans avoir à modifier le code source du module, c'est pour cela que nous faisons plusieurs includes.
 +
 
 
C'est dans le main qu'est chargé l'environnement technique ainsi que les habilitations. Les variables objets suivantes sont alors positionnées:
 
C'est dans le main qu'est chargé l'environnement technique ainsi que les habilitations. Les variables objets suivantes sont alors positionnées:
   Line 201: Line 208:  
* $langs  L'objet qui contient la langue de l'utilisateur.
 
* $langs  L'objet qui contient la langue de l'utilisateur.
   −
Saisissez ensuite votre code pour afficher la page.
+
* L'inclusion d'une classe dédiée au module, sans savoir d'où le fichier sera appelé, se fait en utilisant une fonction de Dolibarr (et non en utilisant directement le include_once)
 +
''Exemple :''
 +
<source lang="php">
 +
dol_include_once('/monmodule/class/maclasse.class.php', 'MaClasse');
 +
</source>
 +
 
 +
* L'appel des classes de dolibarr utilisent la syntaxe suivante;
 +
''Exemple :''
 +
<source lang="php">
 +
if (! class_exists('DoliClasse')) require DOL_DOCUMENT_ROOT.'/core/class/doli.class.php';
 +
</source>
    
=== Remplacer les parties d'écrans templatés (version 3.3+) ===
 
=== Remplacer les parties d'écrans templatés (version 3.3+) ===

Navigation menu