Changes

Jump to navigation Jump to search

Développement module

13 bytes added, 4 years ago
no edit summary
* Ajouter vos propres entrées dans les menus
* Ajouter des écrans de saisie/consultation de nouvelle tables
* Ajouter ou suppimer supprimer des onglets sur les pages de vues/édition des objets (facture, produit, commande, évenementévénement, ...)
* Ajouter des exports prédéfinis pour la fonction export
* Ajouter de nouvelles boites pour la home page
= [[File:Art.png]] Exemple de modéle 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]
=== Tester votre descripteur ===
Lancer Dolibarr et aller sur la page '''Configuration->module''', vous devez voir apparaitre 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.
<source lang="sql">
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 for my module',1,'__ENTITY__');
</source>
$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][1] // Titre de l'ongLetl’onglet
$head[$h][2] // Code de l'onglet, à utiliser pour choisir quel onglet sera 'actif' (voir paragraphe suivant)
</source>
=== Remplacer les parties d'écrans templatés (version 3.3+) ===
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 votresvôtres.
{{ToComplete}}
* 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 données de tableau.
* class="'''flat'''" sur tous les champs de saisie (''input, select, textarea''...).
* class="'''button'''" sur les objets de type ''input type="submit"''.
'''Quand''': Si votre module offre plusieurs options paramétrables.
=== Creer 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''']]).
Créer une page PHP nommée '''monmodule_setupapage.php''' qui affiche les options possibles et les met à jour.
=== Tester votre page ===
Allez sur la page '''Configuration->module''', vous devez voir apparaitre 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é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.
Ce tableau contient toutes les entrées qui apparaitront 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.
=== Tester vos entrées menus ===
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre apparaître (si la condition dans 'enabled' est vraie).
== Définir vos propres permissions (optionnel) ==
'''Quand''': Si vous voulez ajouter de nouvelles permissions.
La définition des permissions que gèrera gérera votre module se fait dans le fichier descripteur créé dans la première étape.
Modifier la ligne
<source lang="php">
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][4] et $this->rights[$r][5], mettre une chaine 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">
Aller dans le menu '''Accueil - Configuration - Boite'''.
Vos box doivent apparaitre 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) ==
== 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 événement métier (voir le chapitre précédent pour cela).
Voir la page [[Système de Hooks]].
= [[File:Art.png]] Validation/activation du module externe sur Dolistore =
Voir [[Module_Dolistore_Validation_Regles|Régles Règles de Validation]]

Navigation menu