Jump to content

Cherche tutoriel récent pour créer un hook sur PS 1.5


Recommended Posts

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 by titi222 (see edit history)
Link to comment
Share on other sites

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

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

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 by titi222 (see edit history)
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...