Line 5: |
Line 5: |
| * Ajouter vos propres entrées dans les menus | | * Ajouter vos propres entrées dans les menus |
| * Ajouter des écrans de saisie/consultation de nouvelle tables | | * Ajouter des écrans de saisie/consultation de nouvelle tables |
− | * Ajouter ou suppimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, évenement, ...) | + | * Ajouter ou supprimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, événement, ...) |
| * Ajouter des exports prédéfinis pour la fonction export | | * Ajouter des exports prédéfinis pour la fonction export |
| * Ajouter de nouvelles boites pour la home page | | * Ajouter de nouvelles boites pour la home page |
Line 21: |
Line 21: |
| | | |
| | | |
− | = [[File:Art.png]] Exemple de modéle de module externe= | + | = [[File:Art.png]] Exemple de modèle de module externe= |
| | | |
| Un bon modéle/squelette de module externe Dolibarr est disponible ici : [https://github.com/rdoursenaud/dolibarr-module-template GitHub Dolibarr Module Modèle] | | Un bon modéle/squelette de module externe Dolibarr est disponible ici : [https://github.com/rdoursenaud/dolibarr-module-template GitHub Dolibarr Module Modèle] |
Line 44: |
Line 44: |
| === Tester votre descripteur === | | === Tester votre descripteur === |
| | | |
− | Lancer Dolibarr et aller sur la page '''Configuration->module''', vous devez voir apparaitre une nouvelle ligne avec votre nouveau module et la possibilité de l'activer ou non (parcourez tous les onglets de chaque catégories de modules jusqu'à le retrouver). | + | Lancer Dolibarr et aller sur la page '''Configuration->module''', vous devez voir apparaître une nouvelle ligne avec votre nouveau module et la possibilité de l'activer ou non (parcourez tous les onglets de chaque catégories de modules jusqu'à le retrouver). |
| C'est la valeur de $this->special qui détermine dans quel onglet se trouve votre module. | | C'est la valeur de $this->special qui détermine dans quel onglet se trouve votre module. |
| | | |
Line 75: |
Line 75: |
| <source lang="sql"> | | <source lang="sql"> |
| delete from llx_const where name='MONMODULE_IT_WORKS' and entity='__ENTITY__'; | | delete from llx_const where name='MONMODULE_IT_WORKS' and entity='__ENTITY__'; |
− | insert into llx_const (name, value, type, note, visible, entity) values ('MONMODULE_IT_WORKS','1','chaine','A constant vor my module',1,'__ENTITY__'); | + | insert into llx_const (name, value, type, note, visible, entity) values ('MONMODULE_IT_WORKS','1','chaine','A constant for my module',1,'__ENTITY__'); |
| </source> | | </source> |
| | | |
Line 168: |
Line 168: |
| $head[$h] // Élément décrivant un onglet. Il y aura autant de $h que d'onglets à afficher | | $head[$h] // Élément décrivant un onglet. Il y aura autant de $h que d'onglets à afficher |
| $head[$h][0] // Url de la page affichée quand on clique sur l'onglet | | $head[$h][0] // Url de la page affichée quand on clique sur l'onglet |
− | $head[$h][1] // Titre de l'ongLet | + | $head[$h][1] // Titre de l’onglet |
| $head[$h][2] // Code de l'onglet, à utiliser pour choisir quel onglet sera 'actif' (voir paragraphe suivant) | | $head[$h][2] // Code de l'onglet, à utiliser pour choisir quel onglet sera 'actif' (voir paragraphe suivant) |
| </source> | | </source> |
Line 240: |
Line 240: |
| === Remplacer les parties d'écrans templatés (version 3.3+) === | | === Remplacer les parties d'écrans templatés (version 3.3+) === |
| Certaines portion d'écran de Dolibarr sont isolés dans des fichiers templates. | | Certaines portion d'écran de Dolibarr sont isolés dans des fichiers templates. |
− | Vous pouvez développer un module pour remplacer un ou plusieurs de ces templates par les votres. | + | Vous pouvez développer un module pour remplacer un ou plusieurs de ces templates par les vôtres. |
| {{ToComplete}} | | {{ToComplete}} |
| | | |
Line 288: |
Line 288: |
| | | |
| * class="'''liste_titre'''" sur les balises ''tr'' et ''td'' pour une ligne de titre de tableau. | | * class="'''liste_titre'''" sur les balises ''tr'' et ''td'' pour une ligne de titre de tableau. |
− | * class="'''pair'''" ou class="'''impair'''" sur les balises ''tr'' et ''td'' des lignes de donnees de tableau. | + | * class="'''pair'''" ou class="'''impair'''" sur les balises ''tr'' et ''td'' des lignes de données de tableau. |
| * class="'''flat'''" sur tous les champs de saisie (''input, select, textarea''...). | | * class="'''flat'''" sur tous les champs de saisie (''input, select, textarea''...). |
| * class="'''button'''" sur les objets de type ''input type="submit"''. | | * class="'''button'''" sur les objets de type ''input type="submit"''. |
Line 312: |
Line 312: |
| '''Quand''': Si votre module offre plusieurs options paramétrables. | | '''Quand''': Si votre module offre plusieurs options paramétrables. |
| | | |
− | === Creer votre page d'édition de configuration === | + | === Créer votre page d'édition de configuration === |
| Si votre module offre plusieurs options paramétrables, il est nécessaire de créer une page PHP pour éditer les options (qui sont stockées dans la [[Table llx_const|table '''llx_const''']]). | | Si votre module offre plusieurs options paramétrables, il est nécessaire de créer une page PHP pour éditer les options (qui sont stockées dans la [[Table llx_const|table '''llx_const''']]). |
| Créer une page PHP nommée '''monmodule_setupapage.php''' qui affiche les options possibles et les met à jour. | | Créer une page PHP nommée '''monmodule_setupapage.php''' qui affiche les options possibles et les met à jour. |
Line 323: |
Line 323: |
| | | |
| === Tester votre page === | | === Tester votre page === |
− | Allez sur la page '''Configuration->module''', vous devez voir apparaitre une icône qui permet d'accéder à la page de configuration et vous devez être capable de modifier ces options et les voir conservées en base. | + | Allez sur la page '''Configuration->module''', vous devez voir apparaître une icône qui permet d'accéder à la page de configuration et vous devez être capable de modifier ces options et les voir conservées en base. |
| | | |
| == Définir vos entrées de menu (optionnel) == | | == Définir vos entrées de menu (optionnel) == |
Line 330: |
Line 330: |
| === Définissez vos entrées menus === | | === Définissez vos entrées menus === |
| Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this->menu qui déclare les menus. | | Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this->menu qui déclare les menus. |
− | Ce tableau contient toutes les entrées qui apparaitront dans les menus une fois le module activé. | + | Ce tableau contient toutes les entrées qui apparaîtront dans les menus une fois le module activé. |
| Le fichier de descripteur de module exemple '''modMonModule.class.php''' possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées. | | Le fichier de descripteur de module exemple '''modMonModule.class.php''' possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées. |
| | | |
Line 374: |
Line 374: |
| | | |
| === Tester vos entrées menus === | | === Tester vos entrées menus === |
− | Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre (si la condition dans 'enabled' est vraie). | + | Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaître (si la condition dans 'enabled' est vraie). |
| | | |
| == Définir vos propres permissions (optionnel) == | | == Définir vos propres permissions (optionnel) == |
| '''Quand''': Si vous voulez ajouter de nouvelles permissions. | | '''Quand''': Si vous voulez ajouter de nouvelles permissions. |
| | | |
− | La définition des permissions que gèrera votre module se fait dans le fichier descripteur créé dans la première étape. | + | La définition des permissions que gérera votre module se fait dans le fichier descripteur créé dans la première étape. |
| Modifier la ligne | | Modifier la ligne |
| <source lang="php"> | | <source lang="php"> |
Line 400: |
Line 400: |
| Dans $this->rights[$r][3], mettre 1 si cette permission est attribué d'office par défaut quand un utilisateur est créé. | | Dans $this->rights[$r][3], mettre 1 si cette permission est attribué d'office par défaut quand un utilisateur est créé. |
| Dans $this->rights[$r][1], mettre un libellé par défaut (il sera affiché si aucune traduction n'est trouvé pour votre permission dans le fichier '''admin.lang'''). | | Dans $this->rights[$r][1], mettre un libellé par défaut (il sera affiché si aucune traduction n'est trouvé pour votre permission dans le fichier '''admin.lang'''). |
− | Dans $this->rights[$r][4] et $this->rights[$r][5], mettre une chaine action et sousaction sans espaces. Vous pourrez alors tester dans le code PHP si un utilisateurs a bien les droits par la séquence suivante: | + | Dans $this->rights[$r][4] et $this->rights[$r][5], mettre une chaîne action et sousaction sans espaces. Vous pourrez alors tester dans le code PHP si un utilisateurs a bien les droits par la séquence suivante: |
| | | |
| <source lang="php"> | | <source lang="php"> |
Line 429: |
Line 429: |
| Aller dans le menu '''Accueil - Configuration - Boite'''. | | Aller dans le menu '''Accueil - Configuration - Boite'''. |
| | | |
− | Vos box doivent apparaitre dans la liste des box activables. Activer les puis aller sur la page d'accueil et vérifier qu'elles s'affichent correctement. | + | Vos box doivent apparaître dans la liste des box activables. Activer les puis aller sur la page d'accueil et vérifier qu'elles s'affichent correctement. |
| | | |
| == Définir vos propres exports (optionnel) == | | == Définir vos propres exports (optionnel) == |
Line 484: |
Line 484: |
| | | |
| == Insérer votre code aux emplacement hooks de Dolibarr (optionnel) == | | == Insérer votre code aux emplacement hooks de Dolibarr (optionnel) == |
− | '''Quand''': Quand vous voulez modifier ou ajouter du code autrement que lors d'un évènement métier (voir le chapitre précédent pour cela). | + | '''Quand''': Quand vous voulez modifier ou ajouter du code autrement que lors d'un événement métier (voir le chapitre précédent pour cela). |
| | | |
| Voir la page [[Système de Hooks]]. | | Voir la page [[Système de Hooks]]. |
Line 536: |
Line 536: |
| = [[File:Art.png]] Validation/activation du module externe sur Dolistore = | | = [[File:Art.png]] Validation/activation du module externe sur Dolistore = |
| | | |
− | Voir [[Module_Dolistore_Validation_Regles|Régles de Validation]] | + | Voir [[Module_Dolistore_Validation_Regles|Règles de Validation]] |