link80 Posted February 26, 2010 Share Posted February 26, 2010 Bonjour,Il manque quelque chose d'assez utile à mon avis sur prestashop.c'est une mention sous forme d'icône, ou texte qui indique aux client lorsqu'un produit possède plusieurs attributs (par exemple la couleur).Lors de la visualisation du produit sur "product-list.tpl" ou même "homefeatured.tpl" il n'y a rien pour préciser au clients que le produit existe en plusieurs déclinaisons, il faut pour cela cliquer sur le produit afin de se rendre compte que plusieurs attributs sont dispos ! Personnellement, je trouve très important de le signaler ! Car si la photo de couverture présente le produit en orange, que le client n'aime pas cette couleur, il ne cliquera pas forcément sur le produit pour se rendre compte ensuite qu'il existe en plusieurs couleurs...J'ai pensé aussi afficher en photo de couverture tous les produits avec toutes les couleurs différentes mais si il y en a beaucoup c'est problématique, sans compter le risque de confusion pour le client qui serait tenter de penser que le prix correspond a tous les produits affichés sur la photo :-)J'ai donc essayé de modifier moi même le code mais sans sucés, un peu d'aide serait la bienvenue, je m'explique :sous product.tpl j'ai à cet endroit l'affichage des attributs : {if isset($groups)} <!-- attributes --> {foreach from=$groups key=id_attribute_group item=group} {$group.name|escape:'htmlall':'UTF-8'} : {assign var='groupName' value='group_'|cat:$id_attribute_group} {foreach from=$group.attributes key=id_attribute item=group_attribute} {$group_attribute|escape:'htmlall':'UTF-8'} {/foreach} {/foreach} {/if} j'ai donc logiquement placé ce bout de code dans product-list.tpl : //si attribut est dispo, on affiche : {if isset($groups)} {/if} Est-ce que quelqu'un aurait une idée ?Merci d'avance Link to comment Share on other sites More sharing options...
gre4ven Posted August 12, 2010 Share Posted August 12, 2010 Bonsoir link80, je suis tout à fait d'accord avec toi quant à l'affichage des attributs dans le fichier product-list.tplC'est important pour ne pas perdre une vente !As tu réussi a faire ce que tu voulais car moi je n'y suis jamais arrivé.@+ Link to comment Share on other sites More sharing options...
Siounex-wenzer Posted August 13, 2010 Share Posted August 13, 2010 Il y a une solution qui avait été donné par un membre du forum, et qui consistait à rajouter la mention "à partir de" devant le prix dans product-list. Le "à partir de" ne s'affiche ainsi que lorsque le produit contient des déclinaisons !Le code à rajouter est : {if ($product.id_product_attribute!='')}A partir de {/if} Pour ma part, j'avais rajouter un peti "span class" Link to comment Share on other sites More sharing options...
fonzie Posted November 9, 2010 Share Posted November 9, 2010 Bonjour,C'est exactement ce que je cherche à faire: Afficher une image "+ de couleurs" sur la page product_list.tpl sous chacun des articles qui possèdent au mois 2 couleursJe débute dans le développement et j'ai essayé avec {if ($product.id_product_attribute!='')} {/if} J'ai bien mon image qui apparait. Mais elle apparaît à partir du moment où un article possède au moins un attribut et n'importe quel attribut.J'ai pensé travaillé avec $product.colors key=id_attribute item=color Mais je ne m'en sors pas.Si qqu'un pouvait me donner une piste ...Merci bcp Link to comment Share on other sites More sharing options...
Mr Viny Posted November 13, 2010 Share Posted November 13, 2010 Ce sujet m'intéresse fortement, j'aimerais arriver à quelque chose comme l'image en pièce jointe.Afin de pouvoir travailler en multilingue, un texte serait idéal.merci d'avance pour vos recherches !Edit: un sujet explique comment afficher les couleurs lors de l’affichage de la liste de produits Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 13, 2010 Share Posted November 13, 2010 En fait, la difficulté est que le PHP ne renvoie pas les bonnes informations au template, il faut modifier le PHP.Côté PHPDans category.php, à la ligne 59, après $cat_products = .....Vous pouvez rajouter ça : $i = 0; foreach ($cat_products as $item) { $bcolors = false; $buffer = new Product($item['id_product'], true, intval($cookie->id_lang)); $bgroups = $buffer->getAttributesGroups(intval($cookie->id_lang)); foreach($bgroups as $bitem) { if ($bitem['id_attribute_group'] == 2 && !$bcolors) { $bcolors = true; $cat_products[$i]['is_color'] = '1'; } } $i++; } Le 2 est à changer selon l'ID de votre group Colors, par défaut il est à 2.En clair, ici on va chercher les IDS des groupes pour chaque produit de la catégorie, et on rajoute un champ 'is_color' si le produit à un attribut de couleur. Du coup, dans le template, on va pouvoir récupérer : $product.is_color et identifier si il y a des couleurs.Côté template : {if ($product.is_color == 1)}{l s='Plus de couleurs'}{/if} Le résultat ici : http://theme01.ebuildy.com/2-musique-ipodsJ'ai bien afficher 'Plus de couleurs' si les produits ont des couleurs supplémentaires. Link to comment Share on other sites More sharing options...
Mr Viny Posted November 13, 2010 Share Posted November 13, 2010 Côté template :{if ($product.is_color == 1)}{l s='Plus de couleurs'}{/if} Merci Vincent ! par contre peux-tu préciser quel fichier du template tu modifies ?Edit : si je ne me trompe pas : product-list.tpl Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 13, 2010 Share Posted November 13, 2010 Yes, exactement ce fichier. Link to comment Share on other sites More sharing options...
Mr Viny Posted November 13, 2010 Share Posted November 13, 2010 Parfais, je vais essayer ça.merci Link to comment Share on other sites More sharing options...
Mr Viny Posted November 13, 2010 Share Posted November 13, 2010 Désolé mais je n'y arrive pas, j'ai collé le code dans category.php qui est à la racine et j'ai l'erreur suivante (j'ai essayé de le déplacer mais ça ne change rien à part le numéro de la ligne qui pose problème). Parse error: syntax error, unexpected T_VARIABLE in /homez.379/letsgocr/www/skyeshop/category.php on line 61 Aurais tu une idée (fresh install 1.3.2) ? merci Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 13, 2010 Share Posted November 13, 2010 Tu pourrais m'envoyer la ligne en question ? enfin les quelques lignes aux alentours d'ailleurs.Cela doit être une bétise, genre un ';' qui manque ou autre.Je suis aussi sur la 1.3.2, je peux t'envoyer le fichier si tu veux ? Link to comment Share on other sites More sharing options...
Mr Viny Posted November 14, 2010 Share Posted November 14, 2010 Bien reçu, merci :-) maintenant je me bats avec le CSS, c'est comme cela que l'on apprends...Edit: ça fonctionne, merci pour l'aide Link to comment Share on other sites More sharing options...
fonzie Posted November 17, 2010 Share Posted November 17, 2010 Super ! :-) Merci bcp Vincent, c'est exactement ce que je voulais faire Link to comment Share on other sites More sharing options...
fonzie Posted November 17, 2010 Share Posted November 17, 2010 Désolée, je me suis ravie trop vite...J'ai bien mon image "+ de couleurs" qui apparaît mais elle est présente pour tous les articles qui ont au moins un attribut couleur.Et comme ils ont ts un attribut couleur, mon image est présente partout.Je ne la souhaite que sur les articles qui ont au moins 2 couleursJ'ai bien dans category.php: if ($category->id != 1) { $nbProducts = $category->getProducts(NULL, NULL, NULL, $orderBy, $orderWay, true); include(dirname(__FILE__).'/pagination.php'); $smarty->assign('nb_products', $nbProducts); $cat_products = $category->getProducts(intval($cookie->id_lang), intval($p), intval($n), $orderBy, $orderWay); $i = 0;foreach ($cat_products as $item){$bcolors = false;$buffer = new Product($item['id_product'], true, intval($cookie->id_lang)); $bgroups = $buffer->getAttributesGroups(intval($cookie->id_lang));foreach($bgroups as $bitem){if ($bitem['id_attribute_group'] == 2 && !$bcolors){$bcolors = true;$cat_products[$i]['is_color'] = '1';[spam-filter] $i++;} } Et dans mon product-list.tpl: {if ($product.is_color == 1)} {/if} Et j'ai un id_attribute_group pour les couleurs qui est à 2Est-ce que j'ai oublié quelque chose ?Merci d'avance Link to comment Share on other sites More sharing options...
Mr Viny Posted November 17, 2010 Share Posted November 17, 2010 Bonsoir Fonzie,D'après ce qu'explique Vincent, le 2 de id_attribute_group est l’ID du group Colors (en tout cas celui par défaut) mais cela ne signifie pas qu'il y a 2 couleurs ou plus. Le 2 est à changer selon l'ID de votre group Colors, par défaut il est à 2.En clair, ici on va chercher les IDS des groupes pour chaque produit de la catégorie, et on rajoute un champ 'is_color' si le produit à un attribut de couleur. Du coup, dans le template, on va pouvoir récupérer : $product.is_color et identifier si il y a des couleurs. Quel est l'intérêt d'avoir attribut couleur pour tous les articles ? Link to comment Share on other sites More sharing options...
fonzie Posted November 17, 2010 Share Posted November 17, 2010 Bonsoir Mr Viny,Ma boutique vend des vêtements pour femmes.Imaginons que j'ai- une robe grise en S, M et Lattribut couleur: gris- un pantalon bleu en S, M et L et le même en noir S, M et Lattribut couleur: bleuattribut couleur: noirSur product-list.tpl, je veux afficher un logo "+ de couleurs" uniquement sous le pantalonImaginons que ce soit le pantalon en bleu que j'affiche sur product-list, je veux que le client sache qu'il existe dans une autre couleur: noir. Alors que pour la robe, je ne veux pas afficher le logo car il n'y a pas d'autre couleur que celle affichée sur product-list.Or pour le moment les différentes solutions m'affichent "+ de couleurs" à partir du moment où un article a 1 couleur, ce qui est le cas pour tous mes articles.J'espère que je suis suffisament claire. Link to comment Share on other sites More sharing options...
Mr Viny Posted November 17, 2010 Share Posted November 17, 2010 J'ai bien compris le problème, je cherchais juste à comprendre la raison de mettre un attribut couleur s'il n'y a qu'une seule couleur dispo pour un produit.Sur ma boutique je n'ai mis des attributs couleurs que lorsqu'il y a plus d'une couleur pour l'article en question. - une robe grise en S, M et Lattribut couleur: gris Link to comment Share on other sites More sharing options...
fonzie Posted November 18, 2010 Share Posted November 18, 2010 Bonjour,J'indique un attribut couleur pour tous mes articles même s'il n'y a qu'une seule couleur pour que mes fiches produits soient toutes uniformes.Je ne me vois pas indiquer la couleur un coup dans la description, un coup dans le menu déroulant couleur etc ...Je ne veux pas perdre le client.En pièce jointe, un ex de fiche produit.De plus, après un rapide coup d'oeil sur les gros sites de vente en ligne de vêtements pour femmes, c'est ainsi qu'ils présentent leurs articles. Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 18, 2010 Share Posted November 18, 2010 Donc, il faut un minimum de 2 couleurs pour afficher le is_color ?Je pense qu'avec cette modification, cela devrait être bon : $i = 0; $bcolors = 0; foreach ($cat_products as $item) { $buffer = new Product($item['id_product'], true, intval($cookie->id_lang)); $bgroups = $buffer->getAttributesGroups(intval($cookie->id_lang)); foreach($bgroups as $bitem) { if ($bitem['id_attribute_group'] == 2) { $bcolors++; } } if ($bcolors > 1) { $cat_products[$i]['is_color'] = '1'; } $i++; $bcolors = 0; } A tester .... Link to comment Share on other sites More sharing options...
fonzie Posted November 18, 2010 Share Posted November 18, 2010 Bonjour Vincent,C'est exactement ce que je souhaite.Je viens de tester ta dernière modif sans succès hélas ... Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 18, 2010 Share Posted November 18, 2010 Ah euh étrange, car je viens de tester sur une boutique test, avec 1 seule couleur, rien ne s'affiche, et avec 2, cela est bon.Tes couleurs ont bien pour attribut le groupe n° 2 ? Link to comment Share on other sites More sharing options...
fonzie Posted November 18, 2010 Share Posted November 18, 2010 Ca fonctionne si mon article à une couleur mais également 1 seule taille.Mais si j'ai un pull gris en s et gris en m, alors là, ça m'affiche le logo "+ de couleurs" alors qu'il n'y a qu'une seule couleur.Le problème vient du fait que s'il y a 2 fois la même couleur, il considère qu'il y a deux couleurs. Link to comment Share on other sites More sharing options...
Mr Viny Posted November 18, 2010 Share Posted November 18, 2010 Pou info au cas où, sur ce sujet ils expliquent comment faire apparaître la palette de couleur sur la page liste de produit. Link to comment Share on other sites More sharing options...
fonzie Posted November 23, 2010 Share Posted November 23, 2010 Quelqu'un aurait-il une idée pour m'aider ?Merci Link to comment Share on other sites More sharing options...
Mr Viny Posted November 27, 2010 Share Posted November 27, 2010 Quel document dont-on modifier pour que "+ de couleurs" apparaisse dans Produits Phares sur la page d'accueil ?Est-ce que le code PHP à utiliser est le même ? Link to comment Share on other sites More sharing options...
L.L. Posted December 16, 2010 Share Posted December 16, 2010 Salut!!Merci Vincent-decaux pour ces codes! C'est exactement ce que je cherchais!! Link to comment Share on other sites More sharing options...
Mr Viny Posted January 16, 2011 Share Posted January 16, 2011 Bonjour Vincent,J'ai fais des tests avec 1.4 mais ça ne fonctionne plus j'ai modifié CategoryController.php qui remplace Category.php mais il doit y avoir d'autres changements.As tu une idée ?Merci d'avance Link to comment Share on other sites More sharing options...
ariehh Posted March 31, 2011 Share Posted March 31, 2011 Comment faire pour faire la même chose mais dans newproduct.php ?merci d'avance Link to comment Share on other sites More sharing options...
ariehh Posted May 9, 2011 Share Posted May 9, 2011 Un petit UP ? J'ai réussie a afficher le "Plus de couleurs" pour les pages product-list. Mais concernant les pages comme new-product.php qui liste les nouveautés ainsi que les pages manufacturer.php qui liste les produits des fabricants, il faut faire des modifs que je ne trouve pas ?Quelqu'un a une idée ?Merci d'avance Link to comment Share on other sites More sharing options...
popol Posted June 24, 2011 Share Posted June 24, 2011 Même soucis que Mr Viny, je ne parviens pas à trouver l'endroit ou mettre ce bout de code que j'avais mis sur presta 1.3. Et si ce code n'a pas changé.Je suis une buse en codage, je bidouille. Link to comment Share on other sites More sharing options...
komar62 Posted June 24, 2011 Share Posted June 24, 2011 Salut tout le monde,J'essaye de faire la meme chose depuis un moment je suis deja assez avancé sur le sujet.Je vous laisse le lien de mon thread : http://www.prestashop.com/forums/viewthread/116057/developpement/productlist_dot_tpl_category_dot_php_selection_des_declinaison/j'ai mis en pieces jointe mon code source. :) :) Link to comment Share on other sites More sharing options...
yvesbj Posted September 14, 2011 Share Posted September 14, 2011 Marche pas sur la 1.4. Est-ce que l'un d'autre vous à réussi à le faire ? Si oui, pourriez vous svp partager le bon code au complet svp ? 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