31,003
edits
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
Les Hooks permettent aux développeurs d'ajouter du code personnalisé aux pages standard de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d'interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s'exécuter n'importe ou et à n'importe quel moment. Ce sont des points d'insertion dans le programme. | Les Hooks permettent aux développeurs d'ajouter du code personnalisé aux pages standard de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d'interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s'exécuter n'importe ou et à n'importe quel moment. Ce sont des points d'insertion dans le programme. | ||
* Les Hooks agissent selon le contexte (càd le module : par exemple "productcard" pour les produits, "invoicecard" pour les factures...). Pour trouver les Hooks existants faites une recherche pour "'''callHooks('''" | * Les Hooks agissent selon le contexte (càd le module : par exemple "productcard" pour les produits, "invoicecard" pour les factures...). Pour trouver les Hooks existants faites une recherche pour "'''callHooks('''" | ||
* Les Hooks sont des fonctions qui peuvent être surchargées. Vous décidez si votre code s'ajoute à celui de dolibarr ou s'il le remplace. Pour | * Les Hooks sont des fonctions qui peuvent être surchargées. Vous décidez si votre code s'ajoute à celui de dolibarr ou s'il le remplace. Pour rechercher le code qu'il est possible de surcharger faites une recherche pour "'''executeHooks('''" | ||
| Line 11: | Line 11: | ||
Pour utiliser un Hook (donc surcharger une fonction), vous devez d'abord avoir défini un module (voir le wiki sur la création d'un module). Ensuite vous devez suivre les étapes suivantes : | Pour utiliser un Hook (donc surcharger une fonction), vous devez d'abord avoir défini un module (voir le wiki sur la création d'un module). Ensuite vous devez suivre les étapes suivantes : | ||
1. Pour ajouter votre module au contexte où me hook doit d' | 1. Pour ajouter votre module au contexte où me hook doit d'exécuter | ||
Ce qui veut dire que lorsqu'on se trouve dans le contexte donné (module dolibarr), votre module sera appelé. | Ce qui veut dire que lorsqu'on se trouve dans le contexte donné (module dolibarr), votre module sera appelé. | ||
Pour cela, éditer le descripteur de votre module (/htdocs/includes/modYourModuleName.class.php) et renseignez la variable $this->const comme par exemple (modifiez le code en gras selon votre module) | Pour cela, éditer le descripteur de votre module (/htdocs/includes/modYourModuleName.class.php) et renseignez la variable $this->const comme par exemple (modifiez le code en gras selon votre module) | ||
| Line 61: | Line 61: | ||
Où | Où | ||
* '''$parameters'''est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters->context) | * '''$parameters'''est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters->context) | ||
* '''$object''' est l'objet sur lequel vous | * '''$object''' est l'objet sur lequel vous désirez travailler (par exemple : product pour le contexte productcard) | ||
* '''$action''' désigne l'action à exécuter (par exemple "create", "edit" or "view"). | * '''$action''' désigne l'action à exécuter (par exemple "create", "edit" or "view"). | ||