Hook dans module supplémentaire qui ne s'exécute pas

Bonjour,

J’aimerais développer un module qui me permettrait de filtrer la liste des contacts que je peux ajouter dans une Propale sur la page « Contacts » de celle-ci.

J’ai donc trouvé dans le code de cette page (/comm/propal/contact.php) un appel a un autre fichier (core/class/html.form.class.php) qui déclare une fonction « selectContacts » dans laquelle se glisse un hook « selectContactListWhere ».

J’ai donc généré un module avec l’outil prévu pour sur Dolibarr, j’ai aussi déclaré dans le fichier de config du module (modMonModule.class.php) le contexte de hook dont j’aurais besoin (" ‹ hooks › => array(‹ commonobject ›) ") et créé un fichier « /class/actions_monmodule.class.php » dans lequel j’ai mis une fonction avec le nom de hook que jaimerais me brancher :

	public function selectContactListWhere($parameters, &$object, &$action, $hookmanager)
	{
        var_dump("OUI");
        die;
	}

J’ai donc suivi tout ce que indique la doc de Dolibarr au sujet d’implementation des hooks, mais quand je vais sur la page en question ou le hook est appelé rien ne se passe, pourquoi?

Bonjour,
Avez vous désactivé et réactivé le module

Je viens tout juste de le refaire, et toujours rien…

Dans la page ou tu souhaite que le hook s’active tester la context du hook pour savoir celui qu’il faut déclarer dans le modMonModule.class.php

1 « J'aime »

Comment faire ceci ?

Dans la class hookmanager au moment du executehook

J’ai réussi a me brancher au hook avec ma fonction, je m’étais trompé de contexte :sweat_smile:.

Par contre j’ai un petit souci restant : j’aimerais que ma fonction ne se déclenche que pour les Propales, hors le hook a laquel je me suis branché concerne un élement de formulaire qui intervient sur les Propales, Commandes et d’autres pages et mon code s’execute sur la même page Contacts de tous ces éléments là.

Comment récupérer des infos sur ma propale a partir de mon module ?

tester si l’object une propale ? ou tester l’URL courante ?

C’etait pour vérifier si mon objet était une propale mais j’ai trouvé un moyen (avec la variable globale $module que j’appelle dans la fonction de mon module pour controler que ça m’a renvoie bien un $module = ‹ propal › )

Merci en tout cas!