pierremartin Posted May 30, 2012 Share Posted May 30, 2012 Bonjour, J'essaye de créer un module pour Prestashop. Je voudrais que ce dernier s'affiche sur les pages produits, en dessous du bouton Ajouter au panier...j'ai donc lu que c'était le hook productActions. Cependant, lorsque j'exécute mon code, mon 'Hello world' apparaît au dessus du fil Home ->Accessoires-> Ipod Nano. En cherchant, j'ai trouvé que productAction n'était exécute que lorsque l'on cliquait sur le bouton Ajouter au panier...Dans ce cas, là il faudrait que je créé un nouveau hook...mais avant j'aimerai juste avoir votre avis sur la question. Voici mon code : if (!defined('_PS_VERSION_')) exit; class test extends Module { public function __construct() { $this->name = 'test'; $this->tab = 'Test'; $this->version = 1.0; $this->author = 'pierremartin'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('test'); $this->description = $this->l('!'); } public function install() { if (parent::install() == false OR !$this->registerHook('productActions')) return false; return true; } public function uninstall() { if (!parent::uninstall()) Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'test`'); parent::uninstall(); } public function hookproductActions($params) { echo 'Hello wordl'; } } Link to comment Share on other sites More sharing options...
pierremartin Posted May 31, 2012 Author Share Posted May 31, 2012 Personne n'utilise le hook productActions ? J'ai vérifié et je ne vois pas pourquoi il apparaît au dessus de la fiche produit et non pas sous le Addtocart... Merci de votre aide Link to comment Share on other sites More sharing options...
olea Posted May 31, 2012 Share Posted May 31, 2012 Les hooks doivent retourner la chaine à placer dans la structure HTML et non pas faire un echo public function hookproductActions($params) { [b][color=#ff0000]return[/color][/b] 'Hello wordl'; } } Link to comment Share on other sites More sharing options...
olea Posted May 31, 2012 Share Posted May 31, 2012 Sans mise en page de code : public function hookproductActions($params) { return 'Hello wordl'; } } Link to comment Share on other sites More sharing options...
Broceliande Posted May 31, 2012 Share Posted May 31, 2012 Sans mise en page de code : public function hookproductActions($params) { return 'Hello wordl'; } } +1 J'ajoute que la convention de nommage des méthodes hooks est celle du pascal : minuscule au départ et Majuscule à chaque mot suivant donc un P majuscule : public function hookProductActions($params) Link to comment Share on other sites More sharing options...
pierremartin Posted May 31, 2012 Author Share Posted May 31, 2012 Formidable ! Je n'avais pas saisi la nuance entre echo et return dans ce cas. Merci de votre aide ! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now