Changes

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 rechercehr le code qu'il est possible de surcharger faites une recherche pour "'''executeHooks('''"
+
* 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'éxécuter
+
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:  
 
 
* '''$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 désuirez travailler (par exemple : product pour le contexte productcard)  
+
* '''$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").