Yllen Posted December 3, 2012 Share Posted December 3, 2012 (edited) Bonjour à tous, Dans ma fiche produit, j'associe les diverses déclinaisons de mes produits aux images correspondantes. Fonctionnement actuel : Lorsque je choisis le produit bleu, sa grande image apparait et toutes les vignettes disparaissent sauf celle du produit bleu avec le texte cliquable : "Afficher toutes les images". Ce qui me parait assez inutile, pourquoi n'afficher que la vignette de l'image déjà affichée en grand et ne pas montrer les vignettes des autres couleurs ? Fonctionnement désiré : Avoir toutes les vignettes affichées tout en gardant l'affichage de la grande image correspondant à la déclinaison choisie par le clic du client. Bref, que les vignettes soient toujours toutes affichées... Est-ce possible ? Merci d'avance, n'hésitez pas à me dire si je n'ai pas été très claire... Edited December 3, 2012 by Yllen (see edit history) Link to comment Share on other sites More sharing options...
hitomiie Posted December 5, 2012 Share Posted December 5, 2012 (edited) Je recherche la même réponse EDIT: Une piste: Il faut modifier le template product.tpl ... un rapport avec count($images) et <a id="resetImages" href="{$link->getProductLink($product)}" onclick="$('span#wrapResetImages').hide('slow');return (false);">{l s='Display all pictures'}</a> Mais supprimer ce lien ne vas pas faire afficher toutes les vignettes par défaut... Une idée? Edited December 5, 2012 by hitomiie (see edit history) Link to comment Share on other sites More sharing options...
MadW Posted January 10, 2013 Share Posted January 10, 2013 (edited) Je viens de le faire à l'instant - et j'espère qu'il n'est pas trop tard pour vous, Hitomilie et Yllen. Sinon cela aidera d'autres personnes. Je n'ai fait cette modification QUE sur la version 1.4.9 de Prestashop, sur le thème par défaut. Je ne suis pas capable de vous dire si ces modifications auront effets sur les autres versions 1.4.x, et encore moins sur 1.5.x et 1.3.x. Et à condition bien entendu que le thème que vous utilisez ait à peut près les mêmes réglages TPL, JS et CSS que le thème Prestashop par défaut. Si ces réglages sont différents, impossible de prévoir si cela fonctionnera parfaitement comme souhaité. Il y'a deux façons de régler le problèmes. Soit le faire normalement avec les outils présents : (normalement compatible avec n'importe quel thème) Il faut savoir qu'à chaque déclinaisons, vous pouvez associer l'une ou plusieurs (voir toutes) les images du produit. Il s'agit simplement de cases à cocher accompagnées des miniatures, lorsque vous créez une déclinaisons, dans le panneau d'administration de votre boutique. Dans un produit quelconque que vous modifiez, allez simplement dans l'onglet "Déclinaisons" lorsque vous éditez l'objet, et sélectionnez une déclinaison déjà faite (ou créez en une). La ligne "Image" vous permet alors de cliquer sur les images du produit que vous souhaitez associer à cette déclinaison. Il va sans dire que si vous avez 20 déclinaisons différentes, il faudra le faire pour les 20. Idem si vous en avez plus d'une centaine... Soit le faire en tapant directement les fichiers internes de Prestashop, /themes/[nomdevotretheme]/product.tpl et /themes/[nomdevotretheme]/js/product.js : (méfiance...) Il suffira de commenter les lignes suivantes, que vous trouverez avec n'importe quel éditeur de texte équipé d'un moteur de recherche : product.tpl {if isset($images) && count($images) > 1}<p class="align_center clear"><span id="wrapResetImages" style="display: none;"><img src="{$img_dir}icon/cancel_16x18.gif" alt="{l s='Cancel'}" width="16" height="18"/> <a id="resetImages" href="{$link->getProductLink($product)}" onclick="$('span#wrapResetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></span></p>{/if} devenant alors <!-- {if isset($images) && count($images) > 1}<p class="align_center clear"><span id="wrapResetImages" style="display: none;"><img src="{$img_dir}icon/cancel_16x18.gif" alt="{l s='Cancel'}" width="16" height="18"/> <a id="resetImages" href="{$link->getProductLink($product)}" onclick="$('span#wrapResetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></span></p>{/if} --> et product.js, modifier les lignes qui suivent l'appel de la fonction function refreshProductImages(id_product_attribute) { $('#thumbs_list_frame').scrollTo('li:eq(0)', 700, {axis:'x'}); $('#thumbs_list li').hide(); devenant // $('#thumbs_list_frame').scrollTo('li:eq(0)', 700, {axis:'x'}); // $('#thumbs_list li').hide(); (mieux vaut commenter que supprimer). (TOUT le mérite va à Ethan42, qui avait donné la solution pour une version visiblement précédente, solution qu'il avait donné ici ). Edited January 10, 2013 by MadW (see edit history) Link to comment Share on other sites More sharing options...
le-lutin31 Posted January 10, 2013 Share Posted January 10, 2013 (edited) Bonsoir, c'est la première fois que j'utilise les déclinaisons, j'utilise Prestashop depuis 2008 et j'en avais jamais eu besoin. Sans le savoir, j'avais toutes mes images associées à toutes mes déclinaisons, voici comment j'ai fait : J'ai chargé toutes mes images et monté mes déclinaisons sans associer les images, donc les images apparaissaient pour toutes mes pointures de chaussures et pour toutes les couleurs des chaussures. À Propos des déclinaisons, je trouve cela long, très long à monter, lorsque l'on a 5 couleurs et 6 pointures de chaussures pour un même modèle, c'est beaucoup de boulot, trop de boulot. Ces déclinaisons, je les ai refaites 5 ou 6 fois et au début j'ai trouvé le procédé compliqué et long, très long, trop, long. Moi, j'ai eu beau chercher une astuce pour aller plus vite je n'ai pas trouvé. www.fringues-and-co.com Edited January 10, 2013 by le-lutin31 (see edit history) Link to comment Share on other sites More sharing options...
Tibo Tel Posted March 19, 2013 Share Posted March 19, 2013 MadW, je viens de faire les modifications que tu préconises et ça ne fonctionne pas. Vous êtes sûr de ne pas avoir ommis une étape ? Je suis sur 1.4.9. Link to comment Share on other sites More sharing options...
Tibo Tel Posted March 21, 2013 Share Posted March 21, 2013 Trouvé : pour la version 1.4.9 Product.js c'est bien cette ligne : // Change the current product images regarding the combination selected function refreshProductImages(id_product_attribute) { // $('#thumbs_list_frame').scrollTo('li:eq(0)', 700, {axis:'x'}); // $('#thumbs_list li').hide(); id_product_attribute = parseInt(id_product_attribute); Product.tpl, ç'est cette ligne : <!--{if isset($images) && count($images) > 1}<p class="resetimg clear"><span id="wrapResetImages" style="display: none;"><img src="{$img_dir}icon/cancel_11x13.gif" alt="{l s='Cancel'}" width="11" height="13"/> <a id="resetImages" href="{$link->getProductLink($product)}" onclick="$('span#wrapResetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></span></p>{/if}--> Link to comment Share on other sites More sharing options...
MickaelBr Posted June 27, 2013 Share Posted June 27, 2013 Bonjour, Quelqu'un a essayé sous Prestashop 1.5? Link to comment Share on other sites More sharing options...
yvonig Posted October 23, 2014 Share Posted October 23, 2014 pour la 1.5.3 supprimer cette ligne 491 dans theme/yourtheme/js/product.js $('#thumbs_list li').hide(); Link to comment Share on other sites More sharing options...
GAELLE Posted April 18, 2017 Share Posted April 18, 2017 Bonjour, je recherche à faire la même chose sur la version 1.6.1.12 , est ce qu'une personne saurait la correction à faire svp ? Merci 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