titi222 Posted January 17, 2013 Share Posted January 17, 2013 (edited) Bonjour, Cela fait des heures que je cherche sur le forum ou Google une solution pour créer tout simplement un nouveau hook dans mon template. Manque cruel de tutoriels ! Je sais que ce sujet est maintes fois abordé mais malheureusement les méthodes indiquées soit ne fonctionnent pas ou sont spécifiques à la création de modules, soit sont obsolète car si j'ai bien compris, avec Prestashop 1.5 on n'a pu besoin de bidouiller la base de données ni les fichiers php... J'ai beau relire de haut en bas la documentation officielle "créer un template", je ne trouve aucune explications sur cette problématique qui doit être courante ? Donc si une vénérable âme charitable passe par ici et peut m'aiguiller ce serait sympa. Par exemple, voici ce que je veux faire : - Le bloc connexion "bienvenue - identifiez-vous" se situe dans le template par défaut dans le {$HOOK_TOP} dans la div Header avec le panier. - Je souhaite laissé uniquement le panier dans ce hook top. - et créer une nouvelle div au-dessus "TopHeader" avec un nouveau hook uniquement pour le bloc connexion. Ma version PS 1.5.3.1 Edited January 17, 2013 by titi222 (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted January 17, 2013 Share Posted January 17, 2013 Bonsoir, Dans ce cas, vous pouvez utiliser le bout de code suivant: {hook h='displayTop' mod='blockuserinfo'} Ce code est à placer dans un tpl, à l'endroit souhaité. 1 Link to comment Share on other sites More sharing options...
titi222 Posted January 17, 2013 Author Share Posted January 17, 2013 Bonsoir, Merci J. Danse pour ta réponse. J'avais d'ailleurs essayé de suivre tes indications dans d'autres topics mais je n'avais pas ce terme "display" et cela n'affichait rien. Là en revanche ton code fonctionne. Ce terme a donc son importance ? Y en a d'autres ? Sauf que j'ai maintenant 2 fois le panier + le bloc connexion ? 1 dans ce nouveau code et 1 dans la position originelle. Pourtant le bloc panier n'est pas appelé ? Est-ce que la création de hook "à la volée" si je puis dire ? est créé automatiquement dans le BO afin de pouvoir ainsi greffer et dégreffer les blocs panier ? Link to comment Share on other sites More sharing options...
J. Danse Posted January 17, 2013 Share Posted January 17, 2013 Il a son importance pour la seule raison qu'en réalité, le hook demandé est "displayTop". Si le hook avait, par exemple, été "showMeLove", ce serait ce dernier qui serait utilisé, comme terme. Tu as, normalement, en 1.5, les hooks "display" et "action". Cependant, vu que la rétro-compatibilité est présente, il arrive que certains modules soient encore sur les hooks "top", "header", "leftColum", ... Et là, le bout de code ne fonctionnera pas. Si tu as bien mis le paramètre mod='lenomdumodule', tu ne devrais y voir que le module voulu selon le hook donné.Par ailleurs, pour ne pas qu'il soit "dupliqué" à l'affichage, il te faut le dé-greffer (via le B.O., Modules > Positions) de son hook. La création de hook à la volée ne se fait qu'en base de données. Ils sont utilisables dans le thème mais pas au sein du Back Office (ce qui est regrettable et devrait être modifié, cela dit). Link to comment Share on other sites More sharing options...
titi222 Posted January 18, 2013 Author Share Posted January 18, 2013 (edited) Bonjour, Merci pour toutes ces explications. Donc si je comprend bien je ne peux pas réellement créer un hook et le retrouver en BO afin d'y greffer les modules souhaités ? C'est pourquoi, ce code ne fonctionnait pas ? {hook h='toto' mod='blockuserinfo'} Ta syntaxe doit certainement vouloir dire, dans le hook "displaytop" tu m'affiches uniquement le module "blockuserinfo". Je peux donc laissé dans ce display top le block userinfo + le block panier puis ensuite les utiliser dans le template comme je veux grâce à cette astuce d'affichage dynamique. Parce qu'au sinon si je laisse dans le template le hook {$HOOK_TOP} il me réaffiche tout ! Seulement il faut faire gaffe de ne pas omettre dans le template les autres modules du top, je vois par exemple le module pages introuvables, je ne vois pas du tout à quoi il sert dans cette position ? Pour le panier en double j'ai trouvé, en fait le blockuserinfo comprend le panier ! C'est un peu bizarre de mélanger les 2 dans ce bloc. Je vais donc réarranger le .tpl C'est sûr ce serait beaucoup plus facile de pouvoir créer depuis le BO de nouveaux hooks pour y greffer les modules que l'on souhaite afin de les appeler facilement dans le template ensuite. Edited January 18, 2013 by titi222 (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