31,003
edits
| 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 | 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> | ||
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. | ||
* 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+) === | ||