31,003
edits
mNo edit summary |
|||
| Line 14: | Line 14: | ||
= 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. | ||
== Créer votre descripteur == | |||
La première étape est donc de créer un fichier descripteur du module. | La première étape est donc de créer un fichier descripteur du module. | ||
| Line 31: | Line 31: | ||
Votre fichier descripteur de votre module est alors en place. | Votre fichier descripteur de votre module est alors en place. | ||
== 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 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). | ||
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. | ||
= Créer vos tables SQL et la classe PHP des accesseurs (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 57: | Line 57: | ||
Rem: Les fichiers des autres bases ne sont pas à maintenir. Ils sont lus et convertit à la volée par le driver de la base de données. | Rem: Les fichiers des autres bases ne sont pas à maintenir. Ils sont lus et convertit à la volée par le driver de la base de données. | ||
== Tester vos fichier .sql == | |||
Une fois les fichiers prêts, vous pouvez retourner sous Dolibarr puis désactiver le module, dropper les tables en base et réactiver le module. | Une fois les fichiers prêts, vous pouvez retourner sous Dolibarr puis désactiver le module, dropper les tables en base et réactiver le module. | ||
| Line 63: | Line 63: | ||
Si tel n'est pas le cas, vérifiez vos scripts en les passant à la main, ou consultez les logs Dolibarr. | Si tel n'est pas le cas, vérifiez vos scripts en les passant à la main, ou consultez les logs Dolibarr. | ||
== Générer la classe PHP d'accès == | |||
Une fois votre ou vos tables créées en base, aller dans le répertoire '''dev/skeletons''' et lancez le script | Une fois votre ou vos tables créées en base, aller dans le répertoire '''dev/skeletons''' et lancez le script | ||
| Line 75: | Line 75: | ||
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. | ||
= Ajouter vos onglets sur les fiches entités (optionnel) = | |||
'''Quand''': Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...) | '''Quand''': Pour ajouter un onglet sur une fiche entité (facture, commande, proposition commercial, adhérent...) | ||
| Line 112: | Line 112: | ||
Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant. | Pour alimenter le contenu de l'onglet avec des données issues de la base, voir le chapitre suivant. | ||
= 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. | ||
== Créer une page écran PHP == | |||
Vous devez ensuite créer vos pages PHP qui se basent sur les données de vos tables en utilisant les squelettes fournis comme exemple dans le répertoire '''dev/skeletons''' (Pour le développement d'un script en ligne de commande, voir [[Developpement_script]]). | Vous devez ensuite créer vos pages PHP qui se basent sur les données de vos tables en utilisant les squelettes fournis comme exemple dans le répertoire '''dev/skeletons''' (Pour le développement d'un script en ligne de commande, voir [[Developpement_script]]). | ||
| Line 135: | Line 135: | ||
Saisissez ensuite votre code pour afficher la page. | Saisissez ensuite votre code pour afficher la page. | ||
== Accès à la base == | |||
Si vous avez besoin de réaliser des modifications en base dans votre propre table ajouté, utilisez la classe générée plus haut. | Si vous avez besoin de réaliser des modifications en base dans votre propre table ajouté, utilisez la classe générée plus haut. | ||
| Line 174: | Line 174: | ||
</pre> | </pre> | ||
== Définition du style == | |||
Pour que le look de la page soit aligné avec le thème Dolibarr, il est nécessaire d'utiliser les styles des CSS de Dolibarr. | Pour que le look de la page soit aligné avec le thème Dolibarr, il est nécessaire d'utiliser les styles des CSS de Dolibarr. | ||
| Line 185: | Line 185: | ||
== Utiliser le sélecteur de date de Dolibarr == | |||
Si vous le désirez, vous pouvez profiter du sélecteur de date dans des écrans Dolibarr. Pour cela, utilisez la ligne suivante: | Si vous le désirez, vous pouvez profiter du sélecteur de date dans des écrans Dolibarr. Pour cela, utilisez la ligne suivante: | ||
| Line 202: | Line 202: | ||
</pre> | </pre> | ||
= 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. | ||
== Creer 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'''). | 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'''). | ||
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 215: | Line 215: | ||
</pre> | </pre> | ||
== Tester votre page == | |||
Aller sur la page '''Configuration->module''', vous devez voir apparaitre un icone qui permet d'accéder à la page de configuratione tvous devez etre capable de modifier ces options et les voir conservé en base. | Aller sur la page '''Configuration->module''', vous devez voir apparaitre un icone qui permet d'accéder à la page de configuratione tvous devez etre capable de modifier ces options et les voir conservé en base. | ||
= 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. | ||
== Définissez vos entrées == | |||
Pour cela, il vous faut définir dans le fichier descripteur de menu le tableau | Pour cela, il vous faut définir dans le fichier descripteur de menu le tableau | ||
<pre> | <pre> | ||
| Line 229: | Line 229: | ||
Les fichiers de descripteur de module exemple possède un exemple de déclaration de menu haut ainsi que de ces entrées menu gauche correspondantes. | Les fichiers de descripteur de module exemple possède un exemple de déclaration de menu haut ainsi que de ces entrées menu gauche correspondantes. | ||
== Tester vos entrées menus == | |||
Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre. | Désactiver et réactiver votre module sous Dolibarr, les entrées menus doivent alors apparaitre. | ||
= Définir vos propres permissions (optionnel) = | |||
'''Quand''': Si vous voulez ajouter de nouvelles permissions. | '''Quand''': Si vous voulez ajouter de nouvelles permissions. | ||
| Line 261: | Line 261: | ||
</pre> | </pre> | ||
= 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. | ||
== Définissez vos box == | |||
Pour cela, modifier les tableaux $this->boxes du fichier descripteur de module. | Pour cela, modifier les tableaux $this->boxes du fichier descripteur de module. | ||
Il suffit d'ajouter une ligne par fichier box qui se trouve dans le répertoire '''htdocs/includes/boxes''' | Il suffit d'ajouter une ligne par fichier box qui se trouve dans le répertoire '''htdocs/includes/boxes''' | ||
| Line 279: | Line 279: | ||
Ensuite creer les fichiers mabox0.php, mabox1.php... en prenant exemple sur des box existantes (dans le répertoire htdocs/include/boxes | Ensuite creer les fichiers mabox0.php, mabox1.php... en prenant exemple sur des box existantes (dans le répertoire htdocs/include/boxes | ||
== Tester la présence de vos box dans Dolibarr == | |||
Aller dans le menu '''Accueil - Configuration - Boite'''. | Aller dans le menu '''Accueil - Configuration - Boite'''. | ||
Vos boxs doivent apparaitre dans la liste des box activables. Avticer les, aller sur la page d'accueil et vérifier qu'elles s'affichent correctement. | Vos boxs doivent apparaitre dans la liste des box activables. Avticer les, aller sur la page d'accueil et vérifier qu'elles s'affichent correctement. | ||
= 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). | ||
== Définissez l'export == | |||
Pour cela, décommenter et modifier les tableaux $this->export_xxx du votre fichier descripteur de module. | Pour cela, décommenter et modifier les tableaux $this->export_xxx du votre fichier descripteur de module. | ||
== Tester votre export == | |||
Aller dans le menu outils -> export de Dolibarr. Votre export doit apparaitre dans la liste des exports prédéfinis disponible (si votre module est bien activé). | Aller dans le menu outils -> export de Dolibarr. Votre export doit apparaitre dans la liste des exports prédéfinis disponible (si votre module est bien activé). | ||
Le choisir, vous devez alors voir les champs possible définis dans le tableau à l'étape précédente. | Le choisir, vous devez alors voir les champs possible définis dans le tableau à l'étape précédente. | ||
Choisir quelques champs et tenter une génération du fichier export. | Choisir quelques champs et tenter une génération du fichier export. | ||
= 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é). | ||
Cette fonctionnalité est décrite mais pas encore opérationnel en 2.4 | Cette fonctionnalité est décrite mais pas encore opérationnel en 2.4 | ||
== Créer et déclarer votre feuille de style == | |||
Créer un fichier de style css nommé '''monmodule.css''' et le placer dans le répertoire '''''monmodule''''' dans '''htdocs'''. Il ne peut y avoir qu'un fichier css propre à chaque module. | Créer un fichier de style css nommé '''monmodule.css''' et le placer dans le répertoire '''''monmodule''''' dans '''htdocs'''. Il ne peut y avoir qu'un fichier css propre à chaque module. | ||
Rappelons qu'il vaut mieux utiliser les styles déjà existant de Dolibarr (le fichier css utilisé par Dolibarr étant le fichier '''themes/nomtheme/''nomtheme''.php.css'''. Ne créer un fichier css propre à votre module que si vous devez absolument gérer des styles non déjà existants. | Rappelons qu'il vaut mieux utiliser les styles déjà existant de Dolibarr (le fichier css utilisé par Dolibarr étant le fichier '''themes/nomtheme/''nomtheme''.php.css'''. Ne créer un fichier css propre à votre module que si vous devez absolument gérer des styles non déjà existants. | ||
| Line 306: | Line 306: | ||
Par exemple '/monmodule/monfichier.css'. | Par exemple '/monmodule/monfichier.css'. | ||
== Tester votre feuille de style == | |||
Assurez vous que votre module est actif. | Assurez vous que votre module est actif. | ||
Appelez la page d'accueil de Dolibarr. Afficher la source de la page HTML. | Appelez la page d'accueil de Dolibarr. Afficher la source de la page HTML. | ||
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. | ||
= 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 319: | Line 319: | ||
Cette fonctionnalité n'est pas encore possible. | Cette fonctionnalité n'est pas encore possible. | ||
= 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'action s 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'action s 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 325: | Line 325: | ||
et [http://www.dolibarr.com/wikidev/index.php/Interfaces_Exterieur_vers_Dolibarr Interfaces_Exterieur_vers_Dolibarr] | et [http://www.dolibarr.com/wikidev/index.php/Interfaces_Exterieur_vers_Dolibarr Interfaces_Exterieur_vers_Dolibarr] | ||
= Créer un package pour livrer et installer votre module = | |||
* Aller dans le répertoire '''/build''' et recopier le fichier '''makepack-dolibarrmodules.conf''' en '''makepack-monmodule.conf'''. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c'est le cas, il peut être récupéré dans le snapshot CVS disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prendre dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version). | * Aller dans le répertoire '''/build''' et recopier le fichier '''makepack-dolibarrmodules.conf''' en '''makepack-monmodule.conf'''. Attention, ce répertoire peut ne pas être fourni dans les packages de versions stables. Si c'est le cas, il peut être récupéré dans le snapshot CVS disponible en téléchargement sur le site web Dolibarr dans la rubrique Version de développement (prendre dans ce cas tout le répertoire build qui est un répertoire autonome et indépendant de la version). | ||
| Line 342: | Line 342: | ||
</pre> | </pre> | ||
= Quelques règles de codage = | |||
Les règles de codage à suivre sont définis dans la [[Documentation développeur]], rubrique "Informations Générales - Langage et normes de développement". | Les règles de codage à suivre sont définis dans la [[Documentation développeur]], rubrique "Informations Générales - Langage et normes de développement". | ||