Changes

Jump to navigation Jump to search
Line 8: Line 8:  
Donc, pour ajouter son propre code qui sera déclenché par trigger, la procédure est la suivante:
 
Donc, pour ajouter son propre code qui sera déclenché par trigger, la procédure est la suivante:
   −
 
+
1) Copier le fichier '''htdocs/core/triggers/interface_all_Demo.class.php''' sous le nom:
1) (uniquement pour Dolibarr >= v3.2.0) dans le fichier descripteur de votre module (ex: '''/monmodule/core/modules/modMonModule.class.php'''), ajouter triggers->1 dans le tableau module_parts:
  −
<source lang="php">
  −
// Defined all module parts (triggers, login, substitutions, menus, etc...) (0=disable,1=enable)
  −
  $this->module_parts = array('triggers' => 1);
  −
  //$this->module_parts = array('triggers' => 1,
  −
  //              'login' => 0,
  −
  //              'substitutions' => 0,
  −
  //              'menus' => 0);
  −
</source>
  −
Puis désactiver et réactiver le module. Ceci aura pour effet d'ajouter une ligne dans la [[Table llx_const]] pour indiquer à Dolibarr qu'il faut recherch un trigger dans le répertoire de votre module '''htdocs/monmodule/core/triggers'''.
  −
 
  −
 
  −
2) Copier le fichier '''htdocs/core/triggers/interface_all_Demo.class.php''' sous le nom:
   
* '''interface_all_''Xxx''.class.php'''
 
* '''interface_all_''Xxx''.class.php'''
 
ou bien
 
ou bien
Line 28: Line 15:  
Il faut laisser ce nouveau fichier dans le même répertoire.
 
Il faut laisser ce nouveau fichier dans le même répertoire.
 
Rem: Les valeurs utilisable pour modMonModule sont visibles dans le répertoire
 
Rem: Les valeurs utilisable pour modMonModule sont visibles dans le répertoire
''htdocs/includes/modules''.
+
''htdocs/core/modules''.
    
Par exemple, on pourra nommer notre nouveau trigger:  
 
Par exemple, on pourra nommer notre nouveau trigger:  
''htdocs/includes/triggers/interface_modFacture_Monworkflow.class.php''
+
''htdocs/core/triggers/interface_modFacture_Monworkflow.class.php''
    
En créant un fichier nommé comme dans cet exemple, notre nouveau trigger sera déclenché à chaque évènement métier Dolibarr et à condition que le module Facture soit actif.
 
En créant un fichier nommé comme dans cet exemple, notre nouveau trigger sera déclenché à chaque évènement métier Dolibarr et à condition que le module Facture soit actif.
   −
'''Note''': à partir de Dolibarr v3.2.x, il est nécessaire de placer les fichiers triggers dans le dossier '''core/''' au lieu de includes/ (eg: htdocs/core/triggers/interface_modMyModule_Xxx.class.php).
+
'''Note''': avant Dolibarr v3.2.x, il était nécessaire de placer les fichiers triggers dans le dossier '''includes/triggers''' au lieu de '''core/triggers''' (eg: htdocs/core/triggers/interface_modMyModule_Xxx.class.php).
 
  −
'''Note2''': Il est aussi possible de placer les fichiers triggers dans un sous-dossier du module. Eg: si le module réside dans htdocs/mymodule/, alors il est possible de placer les triggers dans htdocs/mymodule/core/triggers/
      +
'''Note2''': Avec la 3.2+, il est aussi possible de placer les fichiers triggers dans un sous-dossier de module. Ex: si le module réside dans htdocs/mymodule/, alors il est possible de placer les triggers dans htdocs/mymodule/core/triggers/.
 +
Mais dans ce cas, le trigger ne sera trouvé que si vous le déclarer dans le fichier descripteur de votre module. Pour cela, ajouter ajouter triggers->1 dans le tableau module_parts (ex: '''/monmodule/core/modules/modMonModule.class.php'''):
 +
<source lang="php">
 +
// Defined all module parts (triggers, login, substitutions, menus, etc...) (0=disable,1=enable)
 +
  $this->module_parts = array('triggers' => 1);
 +
  //$this->module_parts = array('triggers' => 1,
 +
  //              'login' => 0,
 +
  //              'substitutions' => 0,
 +
  //              'menus' => 0);
 +
</source>
 +
Puis désactiver et réactiver le module. Ceci aura pour effet d'ajouter une ligne dans la [[Table llx_const]] pour indiquer à Dolibarr qu'il faut recherch un trigger dans le répertoire de votre module '''htdocs/monmodule/core/triggers'''.
   −
3) Editer ce fichier ''interface_modMonModule_Monworkflow.class.php'' afin de renommer la classe ''InterfaceDemo'' par ''InterfaceMonworkflow''
+
2) Editer ce fichier ''interface_modMonModule_Monworkflow.class.php'' afin de renommer la classe ''InterfaceDemo'' par ''InterfaceMonworkflow''
    
Ensuite, accéder à la page Accueil-> Infos Systèmes -> Dolibarr -> Triggers.
 
Ensuite, accéder à la page Accueil-> Infos Systèmes -> Dolibarr -> Triggers.

Navigation menu