Jump to content

[RESOLU] problème création de hook


Guest

Recommended Posts

Bonjour,

 

J'ai créer mon module qui fonctionne très bien il est greffer sur le hookTop cependant cela ne me convient pas et j'ai donc pour cela créer un nouveau hook en base de donnée que j'ai appelé menuNavTop.

 

J'ai modifie mon module comme suit :

 

je l'ai rajouté dans ma fonction d'installation du module :

 

public function install()
{
  if (!parent::install() ||
!$this->registerHook('displayMenuNavTop')) ||
  !$this->registerHook('displayTop'))
return false;
  return true;
}

 

et j'ai rajouté cette fonction :

 

public function hookMenuNavTop($params)
{
 return $this->hookDisplayTop($params);
}

 

puis dans mon template j'ai rajouté mon hook comme cela :

 

{hook h='MenuNavTop'}

 

Lorsque je vais dans le back office et que je vais dans la gestion des points d'accroche, je supprime le point d'accroche displayTop, et je sélectionne menuNavTop, mais j'ai un message d'erreur me disant que je ne peu pas greffer ce module sur ce hook.

 

Je ne comprends pas j'ai suivis plusieurs tuto mais je ne trouve pas la solution à mon problème.

Je suis en version 1.5.4.0.

 

Merci d'avance pour votre aide,

 

Cordialement,

Edited by biostak (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

Merci de votre réponse rapide effectivement je n'avais pas fait attention j'ai modifié pour tout mettre avec displayMenuNavTop mais cela ne fonctionne toujours pas j'ai encore le message d'erreur suivant :

"ce module ne peut être accroché à ce hook"

 

voilà à quoi ressemble le fichier de mon module maintenant :

 

public function install()
{
  if (!parent::install() ||
   !$this->registerHook('displayMenuNavTop')) ||
  !$this->registerHook('displayTop'))
   return false;
  return true;
}

 

public function hookDisplayTop($params)
{
  global $cookie, $smarty;
  $this->context->controller->addCSS($this->_path.'css/global.css');

 $smarty->assign(array(
 ));

 return $this->display(__FILE__, 'menunavigationhorizontal.tpl');
}
public function hookDisplayMenuNavTop($params)
{
 return $this->hookDisplayTop($params);
}

 

et en base de donnée j'ai enregistré un nouveau hook qui porte le nom suivant :

 

displayMenuNavTop

 

Je ne vois vraiment pas d'où le problème peut venir.

 

Cordialement,

Link to comment
Share on other sites

Personne pour m'aider ? car je suis bloqué dans le développement de ma boutique du coup.

 

Merci d'avance pour votre aide.

 

Cordialement,

Link to comment
Share on other sites

Bonjour,

 

Cette erreur est généré par ce code :

if (!$module->isHookableOn($hook->name))
 $this->errors[] = Tools::displayError('This module cannot be transplanted to this hook.');

 

La fonction isHookableOn vérifie si le module contient la fonction hook... :

public function isHookableOn($hook_name)
{
 $retro_hook_name = Hook::getRetroHookName($hook_name);
 return (is_callable(array($this, 'hook'.ucfirst($hook_name))) || is_callable(array($this, 'hook'.ucfirst($retro_hook_name))));
}

 

A moins d'une erreur de frappe dans la BD ou dans le module, je ne vois pas pourquoi il génère cette erreur...

Link to comment
Share on other sites

Bonjour,

 

merci encore pour votre réponse mais je ne comprends pas je viens de vérifier encore et cela ne veut toujours pas j'ai posté dans mon message précédent les modifications et le nom que j'ai enregistré en base de donnée, tout semble pourtant correct.

 

Cordialement,

Link to comment
Share on other sites

Bonjour,

 

J'ai résolu mon problème la création du hook était bonne, j'avais mal codé mon module, car lorsque je réinitialisais celui ci pour prendre en compte le nouveau il ne le faisait pas car la fonction uninstall était mauvaise et donc le module ne se désinstallait jamais.

 

Cordialement,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...