30,997
edits
PolyglotBot (talk | contribs) m (Updating interlang links (links to translated versions of this page in other languages) triggered by origin English page "Hooks_system" update.) |
Tag: 2017 source edit |
||
| Line 23: | Line 23: | ||
1- Initialiser l'object HookManager | 1- Initialiser l'object HookManager | ||
< | Pour une page, placez ce bout de code au début de votre script php (après le include du main): | ||
<syntaxHighlight lang="php"> | |||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array | // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array | ||
include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'); | include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'); | ||
$hookmanager=new HookManager($db); | $hookmanager=new HookManager($db); | ||
$hookmanager->initHooks(array('context')); | $hookmanager->initHooks(array('context')); | ||
</ | </syntaxHighlight> | ||
$hookmanager->initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script | $hookmanager->initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script. '<nowiki/>'''context'''' est la chaine qui contient le contexte d'exécution. C'est un simple indicateur qui peut être utilisé par les fonctions de hook pour détecter dans quel cas elles sont appelées (plusieurs pages/modules peuvent appeler le même hook à différent endroit, et une fonction de hook peut ne vouloir s'exécuter que pour un contexte donné et pas les autres). | ||
Note: Vous pouvez positionner plusieurs contextes en même temps (par exemple si vous avez besoin d'avoir un context commun à plusieurs pages mais que vous voulez aussi un context propre à une page donnée). | |||
Pour une méthode ou fonction, il est possible de récupérer le gestionnaire de Hook par: | |||
<syntaxHighlight lang="php"> | |||
global $hookmanager; | |||
</syntaxHighlight> | |||
2- Placer ensuite l'appel des hooks la où permettre l'ajout de code: | 2- Placer ensuite l'appel des hooks la où permettre l'ajout de code: | ||