PixelBBW Posted January 10, 2013 Share Posted January 10, 2013 Bonjour, J'utilise Prestashop 1.5.3. Je suis entrain de créer un thème cependant je n'arrive pas à créer de HOOK supplémentaire... J'ai trouver pas mal de tutos, mais aucun n'est pareil... Je voudrais savoir si c'etait possible créer un HOOK dans le thème, sans passer par un module ? Si oui, ça serais sympa de mettre le code à rajouter... Merci beaucoup Link to comment Share on other sites More sharing options...
J. Danse Posted January 10, 2013 Share Posted January 10, 2013 On oublie ce qui est dit au-dessus, par pitié. Un hook dans le thème, sans passer par un module (ou l'édition d'un module existant) est impossible (il ne saura pas s'y greffer). Cependant, il est possible d'utiliser la syntaxe suivante: (hook h='MonHook'} ou plus précisément {hook h='MonHook' mod='MonModule'} Pour ajouter un hook en base de données... En fait, on ajoute pas un hook en base de donnée, voilà qui est dit. On laisse PrestaShop le gérer de lui-même, en lui demandant simplement ceci: $this->registerHook('Monhook'); Après, on peut utiliser une variable smarty pour y inclure un ensemble de hook mais on peut n'envisager que la création d'un module avec le hook personnalisé et son appel via la syntaxe mise plus haut dans le thème. Cela évite l'override de fichiers core, en gros. Link to comment Share on other sites More sharing options...
PixelBBW Posted January 10, 2013 Author Share Posted January 10, 2013 Merci pour vos réponses. Donc pour résumé : 1) Je déclare mon HOOK dans mon module : public function install() { if (!parent::install() || !$this->registerHook('monhookperso') || !$this->registerHook('top') || !$this->registerHook('header') || !$this->registerHook('displayMobileTopSiteMap')) return false; return true; } 2) Je viens le chercher dans mon TPL comme ceci : {hook h='monhookperso' mod='lemoduleoulehookpersoestdeclare'} Je vais tester ça ! Link to comment Share on other sites More sharing options...
J. Danse Posted January 10, 2013 Share Posted January 10, 2013 Il faut avoir la méthode correspondante, également: public function hookMonHookPerso($params) { // do stuff } Link to comment Share on other sites More sharing options...
PixelBBW Posted January 10, 2013 Author Share Posted January 10, 2013 Il faut avoir la méthode correspondante, également: public function hookMonHookPerso($params) { // do stuff } Si j'ai bien compris il y a les Hook de vue et les Hook d'action ? Ce bout de code est-il obligatoire dans mon cas ou je veux simplement afficher un module ? Link to comment Share on other sites More sharing options...
J. Danse Posted January 10, 2013 Share Posted January 10, 2013 Pour distinguer un hook d'action et un hook de vue, voici ce qu'il faut retenir: un hook d'action est une position sur laquelle un module peut se greffer et qui sera dès lors exécuté lorsqu'une action particulière à lieue... Exemple: l'ajout d'un produit. Les hooks de vues sont, en gros résumé, ceux qui seront vu par le client. Par exemple, un module positionner sur la page produit ou encore le panier. Grosso modo, ceux qui seront intégrés dans le thème. Quoiqu'il en soit, il faut déclarer la méthode du hook correspondant, peu importe le type de hook voulu Link to comment Share on other sites More sharing options...
cartefranco Posted December 23, 2013 Share Posted December 23, 2013 (edited) Désolé pas posté au bonne endroit et je sais pas comment on supprime Une personne vient de tenté d'utiliser paypal avec la carte cadeau et me retour une erreur Edited December 23, 2013 by cartefranco (see edit history) 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