Changes

Jump to navigation Jump to search
no edit summary
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]]

Navigation menu