Talion77 Posted July 1, 2014 Share Posted July 1, 2014 (edited) Bonjour à tous, Voilà, sur cette page, dans le footer, il y a un module qui sert à visualiser le fond de l'image du produit (sticker mural) au passage de la souris sur une couleur nommé "colorize + html5". Ce module ne peut être greffé ailleurs qu'ici et le template ne dispose pas de hook juste au dessus de l'image produit (là où il faudrait donc placer le module) pour accueillir un quelconque module. J'ai fait quelques recherches, il semblerait qu'il faille ajouter un nouveau hook de positionnement dans le template et un register ou un hook (je ne sais plus trop) dans le module pour lui dire qu'il peut se greffer dans la nouvelle position ainsi créer. Dit comme ça, cela semble facile, ajouter 2 3 lignes de PhP dans 2 fichiers et terminé mais finalement pas tant que ça. Du coup je me tourne vers la communauté, si vous pouviez me guider à travers des tutos pour Prestashop 1.6, j'apprécierai grandement. Sinon, j'ai pu voir l'existence du hook "ossHook" qui est prévu pour afficher un message d'alerte quand un produit est en rupture de stock. Pensez-vous que ce hook soit exploitable pour accueillir le module en question ? Alors oui, le hook oosHook n'est pas positionné au dessus de l'image produit, mais bon... si c'est plus simple, pourquoi pas. Merci d'avance Talion Edited July 2, 2014 by Talion77 (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted July 1, 2014 Share Posted July 1, 2014 perso je le placerais plutôt dans l'onglet description, petit problème : quand on clique sur une couleur dans "Background Color Preview :", elle n'est pas sélectionnée dans les couleurs qui permettent de mettre le produit dans le panier. Sinon pour déplacer ton module, dans le fichier product.tpl de ton theme, tu as peux être quelque chose comme : <div id="idTab1" class="rte">{$product->description}</div> change le par : <div id="idTab1" class="rte">{hook h="bgColorPreview"}{$product->description}</div> ensuite dans le fichier php de ton module tu as une fonction qui affiche ce rendu, imaginons cette fonction s'apelle fctdisplay() , rajoute une fonction juste avant cette fonction fctdisplay: public function hookbgColorPreview($params) { return $this->fctdisplay($params); } 1 Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 (edited) Salut Coeos.pro Merci de m'avoir répondu ! Alors, j'ai pu trouver le fichier product.tpl et y modifier la ligne en question sans soucis (et effectivement dans la description c'est peut-être plus judicieux). Par contre, pour le module, je suis actuellement dans le fichier colorizecanvas.php et... c'est un peu le bordel. Du coup je me permet de te montrer le code PhP en entier xxx, en espérant que tu ne vas pas te mettre en tête que j'attend que le travail soit mâché mais j'ai beau chercher, je n'arrive pas à identifier PARFAITEMENT la ligne concernée Concernant le problème que tu as soulevé, pour moi ça n'en n'est pas un étant donné que c'est juste pour visualiser, ensuite le client sélectionne sa couleur. Edited July 1, 2014 by coeos.pro (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted July 1, 2014 Share Posted July 1, 2014 (edited) ok, donc ce que je nommais fctdisplay est en fait (tout simplement) hookDisplayFooter, donc change: /** * Hook Footer */ par public function hookbgColorPreview($params) { return $this->hookDisplayFooter($params); } /** * Hook Footer */ j'ai supprimé le lien vers le code comme c'est un module payant Edited July 1, 2014 by coeos.pro (see edit history) Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 Ok merci (encore) Donc à partir de maintenant, je dois aller dans l'administration et greffer le module au bon hook ? Link to comment Share on other sites More sharing options...
coeos.pro Posted July 1, 2014 Share Posted July 1, 2014 oui, ensuite tu pourra degreffer le module de l'autre hook Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 (edited) Bon bah il ne me reste plus qu'à trouver le bon hook alors... lol J'ai essayé dans "displayLeftColumnProduct (Extra actions on the product page (left column).)" et "displayLeftColumn (left column blocks)" et ça ne fonctionne pas (oui Left alors que c'est à droite mais dans le code source la colonne de droite est appelée "left column", étrange). Je continue de chercher Edition : idem dans les options pour "rightColumn". Je ne trouve rien avec "description" surtout :/ Edited July 1, 2014 by Talion77 (see edit history) Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 (edited) Pas moyen de trouver la bonne position... J'ai beau essayer tout et n'importe quoi, le module refuse de se greffer ou que ce soit. Edition : merde désolé pour le double post, pas fait gaffe dans la précipitation --" Edited July 1, 2014 by Talion77 (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted July 1, 2014 Share Posted July 1, 2014 tu n'a aucun hook nommé bgColorPreview ? Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 Nan, aucun Link to comment Share on other sites More sharing options...
Talion77 Posted July 1, 2014 Author Share Posted July 1, 2014 Il faut pas déclarer la nouvelle position dans l'administration, ou quelque chose comme ça ? J'arrête pas de regarder des tutos et sur certains ils déclarent leurs positions dans l'administration. Link to comment Share on other sites More sharing options...
Talion77 Posted July 2, 2014 Author Share Posted July 2, 2014 Je clos, j'ai du faire appel à un développeur. Merci quand même. Link to comment Share on other sites More sharing options...
coeos.pro Posted July 2, 2014 Share Posted July 2, 2014 j'espère que tu ne va pas payer trop chère les quelques minutes de travail à faire... Link to comment Share on other sites More sharing options...
Talion77 Posted July 2, 2014 Author Share Posted July 2, 2014 C'est un ami développeur qui a pu finalement se libérer qui m'a aidé cette nuit (jusqu'à une heure du matin), et il n'y avait pas que quelques minutes car le module posait de nombreux problèmes. Déjà, il a lu la doc' de PS, et s'est mis au travail. Après il fallait bien répertorier la nouvelle position nouvellement créée dans la base de données (ce qui me semblait logique), puis il a commencé à rencontrer des problèmes, ne serait que pour correctement le placer. Ensuite, des problèmes de Javascript, lorsqu'il déplaçait le module, l'image "preview" ne s'affichait plus, le changement de place du module avait modifié l'ordre de chargement du Javascript (du template de mémoire)... Pour finir, une fois qu'il avait résolu ce problème, et bien le template chargeait le module 2 fois. Ce qu'il y a de chiant avec le Javascript, c'est que quand c'est pas toi qui a codé le module, bah c'est la merde pour retoucher et là c'était le cas, il en a eu pour 2 bonnes heures. Bref, ultra pénible pour finalement pas grand chose mais le module est désormais correctement placé. Link to comment Share on other sites More sharing options...
coeos.pro Posted July 2, 2014 Share Posted July 2, 2014 Ensuite, des problèmes de Javascript, lorsqu'il déplaçait le module, l'image "preview" ne s'affichait plus, le changement de place du module avait modifié l'ordre de chargement du Javascript (du template de mémoire)... Pour finir, une fois qu'il avait résolu ce problème, et bien le template chargeait le module 2 fois. sur les dernières versions de PS (1.6.x) le js est chargé à la fin donc normalement ça ne pose pas problème et pour le module en double il suffisait de le degreffer : oui, ensuite tu pourra degreffer le module de l'autre hook Link to comment Share on other sites More sharing options...
Talion77 Posted July 2, 2014 Author Share Posted July 2, 2014 Et pourtant... Le module du bas n'était pas degreffable vu qu'il n'existait pas concrètement dans l'administration, c'est le template (encore une fois, de mémoire) qui chargeait le module 2 fois et donc affichait le module en 2 fois, dont un dans le footer. J'ai suivi les modifications en direct avec lui, je t'assure que c'était du délire lol 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