Création d'un bouton sur le module agenda à partir d'un nouveau module

Bonjour,
Je fais appel a vous, en effet je suis bloquer depuis plusieurs jours sur le même problème. ( débutante en dolibarr )

J’aimerais créer un bouton " activités " juste au dessus de l’agenda.
je me suis donc renseigner sur les Hooks afin de liés mon module ( créer précédemment ) et le module agenda.

malheureusement rien ne ce passe.

voici quelque éléments :

dolibarr/www/htdocs/comm/action/index.php :

$reshook = $hookmanager->executeHooks('beforeAgenda', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');

dolibarr/www/htdocs/custom/monmodule/monmodule.class.php :

$hookmanager = new HookManager($db);
$hookmanager->initHooks(array('beforeAgenda'));

$this->module_parts = array(
    'hooks' => array('beforeAgenda')
);

public function showLinkToObjectBlock($parameters, $hookmanager) {

    global $conf, $user, $langs;

    $error = 0; // Error counter

    if (in_array($parameters['currentcontext'], array('beforeAgenda'))) {

        print '<div class="inline-block divButAction"><a target="_blank" 
            class="butAction" href="' . $langs->trans('activités') . '</a></div>';

    }

    if (! $error) {
        $hookmanager->resArray = ‘999’ ; //A definir
        return 0; // or return 1 to replace standard code
    } else {
        $this->errors[] = 'Error message';
        return -1;
    }
}

Bonjour,

Les hooks sont enregistrés à l’activation du module.
Donc, une fois un hook défini, il faut désactiver puis réactiver votre module pour que le hook soit correctement exécuté.

Merci de votre réponse,

j’ai déjà désactiver puis réactiver le module mais rien ne change.

Avez vous consulté cette page sur les hooks ?
https://wiki.dolibarr.org/index.php/Système_de_Hooks#Impl.C3.A9menter_un_Hook

Il semble qu’il faille utiliser $this->results et $this->resprints.

Oui je l’ai consulté.

voici ma modification :
if (! $error) {
$myvalue=999;
$this->results = array(‹ myreturn › => $myvalue);
$this->resprints = ‹ A text to show ›;
return 0; // or return 1 to replace standard code
} else {
$this->errors[] = ‹ Error message ›;
return -1;
}

malheureusement aucun changement.