Jump to content

Ajout de hook P1.4 grosse incompréhension


Recommended Posts

Bonjour à tous,

 

Je suis entrain de créer un site et je souhaite rajouter un module au dessus ma page categorie.

Il faut que je rajoute un HOOK, et cela fait des heures et je n'y arrive pas.

 

Ce que j'ai fait :

1.Ajout hook dans la base de donnée.

2. Appel hook dans classes/Froncontroller.php (j'ai aussi essayé l'override)

3.Modification du php de mon module pour permetter l'instalation dans mon nouveau hook.

4.Appel du Hook dans mon header.tpl.

5. Réinitialsation du module

 

et rien !

Qu'est ce que j'oublie ?

 

Merci d'avance

Share this post


Link to post
Share on other sites

Alors pour info, je continue a fouiner, dans le module que je tente d'insérer dans mon nouveau hook,

j'ai mis

public function hookTop3($params)
{
 echo "ALORSSSSS";
}

et j'ai un ALORSS en haut à gauche du site, mais la je suis perdu

Share this post


Link to post
Share on other sites

Bonjour problème similaire au tient sauf que lorsque j'ai fait un echo cela n'a rien affiché du tout.

As tu essayé de faire :

 

var_dump(Module::hookExec('mon_hook'));
die();

 

Moi ca me retourne NULL mais toi ca devrait te retourner ton echo j'imagine.

Share this post


Link to post
Share on other sites

En fait j'ai changé de module et ca fonctionne.

J'arrive à présent àcréer des Hook, un grand pas ! Et vu que ce forum n'y est pas étranger si qqqun a un besoin d'un coup d'un main, qu'il n'h'ésites pas .

 

Je retourne à mon casse tete de page category

Share this post


Link to post
Share on other sites

En fait j'ai ajouter le bloc publicité (blockadvertising)

 

Les étapes :

 

Ajout du hook dans la base donnée, recherches ps_hook ou XX_hook (selon ton suffixe) , tu affiches, tu mets un nom et un titre, je te conseilles de mettre les mêmes.

 

Ensuite tu vas dans le php de ton module (blockadertising.php dans mon cas) tu recherche public funtion xxxx, tu devrais avoir une fonction avec des paramètres et d'autres en dessous qui renvoi a cette première fonction :

public function hookLeftColumn($params)
{
 return $this->hookRightColumn($params);

Tu copies et tu remplace la première ligne par ton nom de hook , public function hookTONHOOK (attention aux majuscules)

 

Pour le FrontController, j'ai été un bon élève et je l'ai fait en override

Donc dans le dossier override/classes, tu crée un fichier FrontController.php :

<?php
class FrontController extends FrontControllerCore {
public function displayHeader()
{
self::$smarty->assign(array(
'HOOK_TONHOOK' => Module::hookExec('TonHook')
));
return parent::displayHeader();
}
}

 

Dans le BO de prestashop tu assigne le module à ton nouveau hook, (eventuellement réinstalle le avant)

Et voila ! :)

 

En fait j'ai oublié l'étape ou tu appelle ton hook dans ton fichier tpl, mais cela est une évidence, je pense.

 

Si tu as un souci, je suis dispo, pour une fois que je peut aider, d'ahbitude c'est toujours moi qui suis demandeur !

Share this post


Link to post
Share on other sites

Merci pour ta réponse rapide !

 

En fait le problème semble se situer dans la surcharge car quand je fais :

 

public function displayHeader()
{
die();
self::$smarty->assign(array(
'HOOK_TONHOOK' => Module::hookExec('ToNHOOK')
));
return parent::displayHeader();
}

 

le die() ne se fait pas ce qui signifie que ca ne passe pas dedans donc c'est normal que mon hook ne fonctionne pas ...

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More