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+) === |