Développement module: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 18: Line 18:
Les chapitres suivant vous présentent comment réaliser tout cela en manuel de manière simple. Pour les développeurs très expérimentés, une méthode par génération MDA est en cours de mise au point. Voir le dernier chapitre pour cela.
Les chapitres suivant vous présentent comment réaliser tout cela en manuel de manière simple. Pour les développeurs très expérimentés, une méthode par génération MDA est en cours de mise au point. Voir le dernier chapitre pour cela.


= Créer une extension =
= [[File:Art.png]] Créer une extension =
Les sous chapitres suivant dévrivent les actions à faire pour créer un module Dolibarr. Les premiers chapitre sont obligatoires quelquesoit la vocation du modules, les suivant dépendront de ce que doit faire le module.
Les sous chapitres suivant dévrivent les actions à faire pour créer un module Dolibarr. Les premiers chapitre sont obligatoires quelquesoit la vocation du modules, les suivant dépendront de ce que doit faire le module.


== [[File:Art.png]] Créer un descripteur de Module (obligatoire) ==
== Créer un descripteur de Module (obligatoire) ==
'''Quand''': Obligatoire dès qu'une extension est développée, quelque soit sa vocation.
'''Quand''': Obligatoire dès qu'une extension est développée, quelque soit sa vocation.


Line 42: Line 42:
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.


== [[File:Art.png]] Arborescence d'un nouveau module ==
== Arborescence d'un nouveau module ==
Créer un répertoire 'monmodule' qui recevra les fichiers du module. Ce répertoire doit etre dans le répertoire '''htdocs''' et contiendra les sous-répertoires suivants (seul la premiere ligne est obligatoire):
Créer un répertoire 'monmodule' qui recevra les fichiers du module. Ce répertoire doit etre dans le répertoire '''htdocs''' et contiendra les sous-répertoires suivants (seul la premiere ligne est obligatoire):


Line 75: Line 75:
* htdocs/custom/mymodule/themes/mytheme if module provide its own skin
* htdocs/custom/mymodule/themes/mytheme if module provide its own skin


== [[File:Art.png]] Créer vos tables SQL et les classes PHP DAO (optionnel) ==
== Créer vos tables SQL et les classes PHP DAO (optionnel) ==
'''Quand''': Si votre module a besoin de gérer des données qui lui sont propres
'''Quand''': Si votre module a besoin de gérer des données qui lui sont propres


Line 113: Line 113:
Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD.
Un fichier '''out.nomtable_script.php''' a également été généré et contient un exemple de code pour utiliser la classe pour chacune des 4 méthodes CRUD.


== [[File:Art.png]] Affichage des onglets (optionnel) ==
== Affichage des onglets (optionnel) ==


=== Ajouter ou supprimer des onglets sur les fiches objets ===
=== Ajouter ou supprimer des onglets sur les fiches objets ===
Line 222: Line 222:
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr.
Pour plus de détail, se référer à la [http://www.dolibarr.fr/doxygen/ documentation Doxygen] ou directement au code de Dolibarr.


== [[File:Art.png]] Créer vos pages écran PHP (optionnel) ==
== Créer vos pages écran PHP (optionnel) ==
'''Quand''': Si l'objet de votre module est d'ajouter des fonctionnalités qui nécessitent de nouveaux écrans.
'''Quand''': Si l'objet de votre module est d'ajouter des fonctionnalités qui nécessitent de nouveaux écrans.


Line 333: Line 333:
</source>
</source>


== [[File:Art.png]] Définir votre page de configuration (optionnel)  ==
== Définir votre page de configuration (optionnel)  ==
'''Quand''': Si votre module offre plusieurs options paramétrables.
'''Quand''': Si votre module offre plusieurs options paramétrables.


Line 349: Line 349:
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 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.


== [[File:Art.png]] Définir vos entrées de menu (optionnel) ==
== Définir vos entrées de menu (optionnel) ==
'''Quand''': Si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.
'''Quand''': Si vous avez créé des pages PHP, il est nécessaire que ces écrans soient accessibles depuis le menu Dolibarr.


Line 399: Line 399:
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 apparaitre (si la condition dans 'enabled' est vraie).


== [[File:Art.png]] 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.


Line 429: Line 429:
</source>
</source>


== [[File:Art.png]] Définir vos propres box (optionnel) ==
== Définir vos propres box (optionnel) ==
'''Quand''': Si votre module amène avec lui une ou plusieurs Boxes.
'''Quand''': Si votre module amène avec lui une ou plusieurs Boxes.


Line 454: Line 454:
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 apparaitre dans la liste des box activables. Activer les puis aller sur la page d'accueil et vérifier qu'elles s'affichent correctement.


== [[File:Art.png]] Définir vos propres exports (optionnel) ==
== Définir vos propres exports (optionnel) ==
'''Quand''': Si votre module amène avec lui des exports prédéfini de données (pour ces propres tables ou des tables déjà existante d'un autre module de Dolibarr).
'''Quand''': Si votre module amène avec lui des exports prédéfini de données (pour ces propres tables ou des tables déjà existante d'un autre module de Dolibarr).


Line 465: Line 465:
Choisir quelques champs et tenter une génération du fichier export.
Choisir quelques champs et tenter une génération du fichier export.


== [[File:Art.png]] Définir vos styles CSS (optionnel) ==
== Définir vos styles CSS (optionnel) ==
'''Quand''': Si dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).
'''Quand''': Si dans vos écrans PHP, vous utiliser des classes de styles qui ne sont pas celle des thèmes de Dolibarr (non recommandé).


Line 484: Line 484:
Vous devriez voir dans l'entête HTML, une ligne déclarant votre feuille de style.
Vous devriez voir dans l'entête HTML, une ligne déclarant votre feuille de style.


== [[File:Art.png]] Définir vos fonctions Javascript (optionnel) ==
== Définir vos fonctions Javascript (optionnel) ==
'''Quand''': Si dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)
'''Quand''': Si dans vos écrans PHP, vous utiliser des fonctions javascript non dispo en standard (fichier lib_head.js)


Line 497: Line 497:
</source>
</source>


== [[File:Art.png]] Déclencher du code sur un évènement Dolibarr (optionnel) ==
== Déclencher du code sur un évènement Dolibarr (optionnel) ==
'''Quand''': Si vous voulez que des actions particulières s'exécutent suite au déclenchement d'actions standards de Dolibarr (exemple: je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de '''triggers'''.
'''Quand''': Si vous voulez que des actions particulières s'exécutent suite au déclenchement d'actions standards de Dolibarr (exemple: je veux mettre à jour une table de mon module quand une facture se crée dans Dolibarr), il vous faut créer un fichier de '''triggers'''.


Line 503: Line 503:
et [[Interfaces_Exterieur_vers_Dolibarr|Interfaces exterieures vers Dolibarr]]
et [[Interfaces_Exterieur_vers_Dolibarr|Interfaces exterieures vers Dolibarr]]


== [[File:Art.png]] Ajouter un module de numérotation (optionnel) ==
== Ajouter un module de numérotation (optionnel) ==
Voir la page [[Créer un module de numérotation]].
Voir la page [[Créer un module de numérotation]].


== [[File:Art.png]] Ajouter un nouveau modèle de document (optionnel) ==
== Ajouter un nouveau modèle de document (optionnel) ==
La documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].
La documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].


Navigation menu