onetidd Posted October 14, 2009 Share Posted October 14, 2009 Bonjour,Je suis désolé en fait ce que j’aimerais obtenir c’est l’affichage des couleurs sur le listing des produits.Je voudrais ceci: Link to comment Share on other sites More sharing options...
onetidd Posted October 15, 2009 Author Share Posted October 15, 2009 allé un petit up svp Link to comment Share on other sites More sharing options...
onetidd Posted October 17, 2009 Author Share Posted October 17, 2009 Un peu d'aide svp. Link to comment Share on other sites More sharing options...
zebu Posted October 17, 2009 Share Posted October 17, 2009 Bonjour (déja),On ne comprend rien à ce post, un minimum d' explication sous forme de phrase serait la bienvenue Link to comment Share on other sites More sharing options...
onetidd Posted October 17, 2009 Author Share Posted October 17, 2009 Bonjour,Je suis désolé en fait ce que j'aimerais obtenir c'est l'affichage des couleurs sur le listing des produits comme le site cité plus haut. Link to comment Share on other sites More sharing options...
onetidd Posted October 18, 2009 Author Share Posted October 18, 2009 Un peu d’aide svp. Link to comment Share on other sites More sharing options...
onetidd Posted October 19, 2009 Author Share Posted October 19, 2009 UP svp Link to comment Share on other sites More sharing options...
onetidd Posted October 23, 2009 Author Share Posted October 23, 2009 UUUUUUUUUPSVP, je galère toujours là. Link to comment Share on other sites More sharing options...
Trolet Posted October 23, 2009 Share Posted October 23, 2009 bonjour,dans le fichier product.tpl, l'affichage des couleurs est géré par la liste suivante : > </pre> <ul> {foreach from=$colors key='id_attribute' item='color'} {if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}{/if} {/foreach} </ul> si tu copies ce code au bon endroit dans product-list.tpl ça marche ou pas ? après il y aura peut-être un problème de variable je sais pas mais essaie déjà ça. Link to comment Share on other sites More sharing options...
onetidd Posted October 23, 2009 Author Share Posted October 23, 2009 Merci bien j'essaye et je vous dis ce qu'il en est. J'ai essayé sa ne fonctionne pas, il me semble avoir déjà essayé cette option. Merci quand meme. Link to comment Share on other sites More sharing options...
Trolet Posted October 24, 2009 Share Posted October 24, 2009 c'est bizarre pq avec Fireburg en regardant sur le site en exemple c'est cette liste qui a été copiée. peut-être un problème de variable le mieux pour voir les variables en jeu c'est de rajouter {debug} dans ton fichier tpl.sinon le plus simple est de contacter le site ils devraient te renseigner ! Link to comment Share on other sites More sharing options...
Daxey Posted December 12, 2009 Share Posted December 12, 2009 Dsl pour le manque de réactivité.Je n'ai pas retesté mon code, mais en gros voila ce que j'ai fais :dans le thème, product-list.tpl {if !empty($product.colors)} {foreach from=$product.colors key=id_attribute item=color } {/foreach} {/if} A la racine, dans category.php (ou autre page de listage) avant $smarty->assign() ligne 62: /* couleurs */ foreach ($cat_products as $key => $cat_product) { $product = new Product(intval($cat_product['id_product']), true, intval($cookie->id_lang)); $colors = array(); $attributesGroups = $product->getAttributesGroups(intval($cookie->id_lang)); if (Db::getInstance()->numRows()) { foreach ($attributesGroups AS $k => $row) { /* Color management */ if (isset($row['attribute_color']) AND $row['attribute_color'] AND $row['id_attribute_group'] == $product->id_color_default) { $colors[$row['id_attribute']]['value'] = $row['attribute_color']; $colors[$row['id_attribute']]['name'] = $row['attribute_name']; $colors[$row['id_attribute']]['id_image'] =(($row['id_image'] != NULL) ? intval($row['id_image']) : -1); } } } $cat_products[$key]['colors'] = $colors; } Voila, je pense que ça doit répondre à votre question.a+Damien Link to comment Share on other sites More sharing options...
lhweb Posted December 14, 2009 Share Posted December 14, 2009 Je cherchais à reproduire la même chose et ca fonctionne, reste plus qu'a paramétrer tout ca, merci beaucoup Link to comment Share on other sites More sharing options...
lhweb Posted December 14, 2009 Share Posted December 14, 2009 Par contre je n'arrive pas à saisir ou placer le code pour appeler les arrays de couleurs dans le module homefeatured ni même dans les pages telles que "promotions" "nouveaux produits" etc. :/ si quelqu'un a une idée Link to comment Share on other sites More sharing options...
SmartiesKiller Posted December 27, 2009 Share Posted December 27, 2009 j'ai bien essayer de placer les codes comme au dessus mais j'obtient une erreur a chaque fois et aucune colour ne s'affiche. Link to comment Share on other sites More sharing options...
SmartiesKiller Posted December 27, 2009 Share Posted December 27, 2009 Undefined index: id_image in C:\wamp\www\category.php on line 75 voila l'erreur que j'ai. Link to comment Share on other sites More sharing options...
Momiji Posted February 1, 2010 Share Posted February 1, 2010 Bonjour,Un petit up sur ce post.En insérant le code de Damien, pas de message d'erreur, mais pas d'affichage des couleurs non plus... Il y avait peut-être une petite modif à effectuer ?Quelqu'un a réussi à afficher les couleurs dans la liste des produits ?Merci d'avance. Link to comment Share on other sites More sharing options...
Momiji Posted February 5, 2010 Share Posted February 5, 2010 Bonjour,Je cherche à afficher les couleurs dispo pour les produits dans la liste. En suivant les indications de Daxey, il ne se passe rien...Dans product_list.tpl {if !empty($product.colors)} {foreach from=$product.colors key=id_attribute item=color } {/foreach} {/if} Dans category.php /* couleurs */ foreach ($cat_products as $key => $cat_product) { $product = new Product(intval($cat_product['id_product']), true, intval($cookie->id_lang)); $colors = array(); $attributesGroups = $product->getAttributesGroups(intval($cookie->id_lang)); if (Db::getInstance()->numRows()) { foreach ($attributesGroups AS $k => $row) { /* Color management */ if (isset($row['attribute_color']) AND $row['attribute_color'] AND $row['id_attribute_group'] == $product->id_color_default) { $colors[$row['id_attribute']]['value'] = $row['attribute_color']; $colors[$row['id_attribute']]['name'] = $row['attribute_name']; $colors[$row['id_attribute']]['id_image'] =(($row['id_image'] != NULL) ? intval($row['id_image']) : -1); } } } $cat_products[$key]['colors'] = $colors; } lhweb semblait avoir réussi. Pourtant il doit manquer quelque chose pour que ça fonctionne (je ne sais pas assigner les variables à SMARTY).Pierre Link to comment Share on other sites More sharing options...
lhweb Posted February 8, 2010 Share Posted February 8, 2010 Bonjour,quelle version de prestashop utilise tu ?De mon côté j'ai juste copié le code dans category.php à l'endroit indiqué ce qui a pour effet de créer les variables dont on a besoinrajoutes dans product-list.tpl de ton template {debug} pour afficher les variables chargées et vérifies que tu y trouves bien les déclinaisons de couleursensuite j'ai légèrement modifié le code à placer dans product-list.tpl mais j'ai gardé les variables telles quelles et ca a fonctionné vérifie aussi si par hasard tu as coché qu'il s'agit de déclinaisons de couleurs dans la fiche d'édition du produit dans le BO, peut être qu'il faut l'activer pour avoir les variables je n'ai pas le code sous le nez Link to comment Share on other sites More sharing options...
Momiji Posted February 8, 2010 Share Posted February 8, 2010 Bonjour,Merci de me répondre.J'avais déjà essayé {debug}; je l'ai refait pour être sûr.Aucune déclinaison de couleur dans les variables chargées :-(Dans le BO j'ai bien défini les déclinaisons comme étant des couleurs; d'ailleurs j'ai le color picker dans la fiche produit... Mais dans la liste, rien !Tout ça est très frustrant.A+ Link to comment Share on other sites More sharing options...
lhweb Posted February 9, 2010 Share Posted February 9, 2010 très étrangetu as modifié quel fichier category.php ? (il y en a un a la racine de prestahop et un dans le dossier classes, c'est celui de la racine qu'il faut modifier )tes couleurs sont bien des attributs ?pour le debug si tu as associé un code couleur aux attributs (ex: #000000) tu peux t'en servir pour faire une recherche dans la fenetre de debug histoir d'etre sur que ces variables de sont pas chargéesvérifie sur plusieurs pages de ton catalogue car cette solution ne fonctionne pas pour la homepage (il faut modifier le module homefeatured et je n'ai pas réussi non plus)sinon je suis désolé mais je ne vois pas du tout, chez moi ca a marché direct Link to comment Share on other sites More sharing options...
Momiji Posted February 9, 2010 Share Posted February 9, 2010 Voilà, j'ai trouvé :Il existe 2 instructions $smarty->assign dans category.php. Je n'en avais vu qu'une et placé le code entre les deux !!!Tu as raison, cela fonctionne immédiatement. Je suis désolé de t'avoir fait perdre ton temps.Merci de ton aide (utile car j'allais abandonner...)A+ Link to comment Share on other sites More sharing options...
Dominique Fleury Posted August 2, 2010 Share Posted August 2, 2010 Bonjour,Pensez-vous qu'il soit possible de faire la même chose avec un attribut autre que la couleur (1 seul groupe) ?Je pensais commencer par ajouter un truc du genre dans le product-list.tpl: {foreach from=$groups key=id_attribute_group item=group} {$group.name|escape:'htmlall':'UTF-8'} : {assign var='groupName' value='group_'|cat:$id_attribute_group} 0}$('#resetImages').show('slow');{/if}"> {foreach from=$group.attributes key=id_attribute item=group_attribute} {$group_attribute|escape:'htmlall':'UTF-8'} {/foreach} {/foreach} Merci de votre aide Link to comment Share on other sites More sharing options...
robkwal Posted September 11, 2010 Share Posted September 11, 2010 J'ai suivi toutes les étapes ci-dessus avec vous la réussite! Qu'est-ce qui se passe réellement pas les produits sont affichés ... Je suis tellement désespérée d'avoir ce travail peut-on aider S'IL VOUS PLAÎT!Excusez mon français!**I've followed the above steps with you success!!! What actually happens is no products are displayed... I am so desperate to have this work could anyone help PLEASE!!!Excuse my French!** Link to comment Share on other sites More sharing options...
LeGastronome Posted October 3, 2010 Share Posted October 3, 2010 Faites attention aux classes CSS : ici il va chercher le CSS : #primary_block a.color_pick { width: 20px; height: 20px; float: left; border: 1px solid #666; margin: 0 0.5em 0 0; cursor: pointer; } #primary_block a.color_pick:hover { border: 1px solid #000; } Mais dans la liste de catégorie on est pas sous #primary_blockil faut rajouter dans le CSS : a.color_pick { width: 20px; height: 20px; float: left; border: 1px solid #666; margin: 0 0.5em 0 0; cursor: pointer; } a.color_pick:hover { border: 1px solid #000; } Le lien est faux aussi : J'ai remplacé le lien par le lien vers le produit, peu importe la couleur :il faut mettre ce code dans A HREF : {$product.link|escape:'htmlall':'UTF-8'} Link to comment Share on other sites More sharing options...
fabbea Posted December 16, 2010 Share Posted December 16, 2010 Bonjourje suis intéressée par ce code, mais comment faire pour afficher, plutôt que chaque carré de couleur, leur nombre ?Par exemple la phrase "produit disponible en xx coloris" ?Amicalement Link to comment Share on other sites More sharing options...
fabbea Posted December 16, 2010 Share Posted December 16, 2010 Je me réponds à moi même, pour ceux que ça intéresserait.Il suffit de mettre (ici j'ai mis une condition pour afficher le nombre de couleurs uniquement s'il y en a plus de deux, avec un seul colori l'info n'ayant pas trop d'intérêt) {if !empty($product.colors) && $product.colors|@count>1 } Produit disponible en {$product.colors|@count} coloris {/if} Voilou.Merci pour ce post qui m'a bien aidé. Link to comment Share on other sites More sharing options...
fabbea Posted December 16, 2010 Share Posted December 16, 2010 Comment faire maintenant pour afficher les coloris dans d'autres endroits ?Je pense notamment à Home Featured ?J'essaie mais sans aucun succès... Link to comment Share on other sites More sharing options...
Ckapone Posted February 7, 2011 Share Posted February 7, 2011 Bonjour,j'ai appliqué ces deux modifications mais rien ne s'affiche.Faut-il assigner à Smarty ce nouvel array color ou pas ?Ckarone Link to comment Share on other sites More sharing options...
jadedhs Posted February 22, 2011 Share Posted February 22, 2011 Bonjour,J'ai appliqué la solution de Legastronome et ça fonctionne. Le seul hic c'est que ça n'affiche que les couleurs codifiés. ex: noir #000000 ou blanc #ffffffJ'ai créée des coloris avec des images et sur ma liste de produits ça s'affiche en noir. Un coup de pouce serait le bienvenue. Je pense qu'il doit exister une variable a appeler en cas de création de couleur en remplacement du code couleur.merci 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...
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...
yvesbj Posted September 14, 2011 Share Posted September 14, 2011 Bon, pour ceux qui comme moi, n'ont pas réussi, sachez qu'il existe un module pour ça : http://www.prestacrea.com/modules-prestashop/113-module-prestashop-colorslist.html Link to comment Share on other sites More sharing options...
shamon Posted January 26, 2012 Share Posted January 26, 2012 le module n'est plus dipo :/ Link to comment Share on other sites More sharing options...
shamon Posted January 26, 2012 Share Posted January 26, 2012 trouvé là http://preprod.prestastore.com/es/front-office-features/3380-colors-list.html Link to comment Share on other sites More sharing options...
macgyvre Posted March 5, 2012 Share Posted March 5, 2012 avec un peu de recherche, on retrouve le module Color picker in product list ici: http://addons.prestashop.com/fr/fonctionnalites-front-office/2728-color-picker-in-product-list.html Pour ceux qui veulent pas s'embêter, c'est la solution, mais pour ceux qui trouve que 30 €, c'est un peu cher pour une dizaine de lignes de codes, la modif est la suivante: (j'ai traduit l'astuce depuis ce post: http://www.prestashop.com/forums/index.php?/topic/81210-colors-on-product-listtpl/page__view__findpost__p__713824 1. Dans controllers/CategoryController.php ajouter vers la ligne 132, juste avant self::$smarty->assign(array( : foreach ( $this->cat_products as $key => $cat_product ) { $product = new Product ( intval ( $cat_product[ 'id_product' ] ), true , intval ( self::$cookie -> id_lang )); $colors = array(); $attributesGroups = $product->getAttributesGroups((int)(self::$cookie->id_lang)); if ( Db :: getInstance ()-> numRows ()) { foreach ( $attributesGroups AS $k => $row ) { /* Color management */ if (isset( $row[ 'attribute_color' ] ) AND $row[ 'attribute_color' ] AND $row[ 'id_attribute_group' ] == $product -> id_color_default ){ $colors[$row[ 'id_attribute' ]][ 'value' ] = $row[ 'attribute_color' ] ; $colors[$row[ 'id_attribute' ]][ 'name' ] = $row[ 'attribute_name' ] ; } } } $this->cat_products[$key][ 'colors' ] = $colors ; } 2. Ajouter dans le product-list.tpl de votre theme ou vous voulez. ( je l'ai fait autour de la ligne 38, juste après la description de produit.) {if !empty($product.colors)} {foreach from=$product.colors key=id_attribute item=color} <span class="color_picker" style="background: {$color.value};" title="{$color.name}"></span> {/foreach} {/if} 3. Ajoutez dans votretheme/css/product_list.css : #product_list .color_picker { display: block; float: left; width: 10px; height: 10px; margin: 5px 2px 5px 2px; cursor: pointer; border: 1px solid #D0D3D8; } et voilà... Link to comment Share on other sites More sharing options...
macgyvre Posted March 6, 2012 Share Posted March 6, 2012 en fait, il vaut mieux suivre le post un peu plus loin : http://www.prestashop.com/forums/index.php?/topic/81210-colors-on-product-listtpl/page__view__findpost__p__761965 qui recommande de plutôt utiliser l'override. J'ai essayé avec succès... cela consiste à remplacer l'étape 1 du post précédent par ajouter dans le fichier override/classes/Product.php (le créer s'il n'existe pas ): <?php class Product extends ProductCore { public static function getProductsProperties($id_lang, $query_result) { $products = parent::getProductsProperties($id_lang, $query_result); foreach ( $products as &$cat_product ) { $product = new Product ( intval ( $cat_product[ 'id_product' ] ), true , intval ($id_lang)); $colors = array(); $attributesGroups = $product->getAttributesGroups((int)($id_lang)); if ( Db :: getInstance ()-> numRows ()) { foreach ( $attributesGroups AS $k => $row ) { /* Color management */ if (isset( $row[ 'attribute_color' ] ) AND $row[ 'attribute_color' ] AND $row[ 'id_attribute_group' ] == $product->id_color_default ){ $colors[$row[ 'id_attribute' ]][ 'value' ] = $row[ 'attribute_color' ] ; $colors[$row[ 'id_attribute' ]][ 'name' ] = $row[ 'attribute_name' ] ; $colors[$row[ 'id_attribute' ]][ 'id_image' ] =(( !empty($row[ 'id_image' ]) ) ? intval ( $row[ 'id_image' ] ) : - 1 ); } } } $cat_product[ 'colors' ] = $colors ; } return $products; } } Link to comment Share on other sites More sharing options...
b2comm Posted May 2, 2012 Share Posted May 2, 2012 Bonjour la dernière solution ne marche pas sur une version 1.4.7. La variable renvoyée $product.colors est vide... Une idée ? Link to comment Share on other sites More sharing options...
AkrOpad Posted August 3, 2013 Share Posted August 3, 2013 Pour les suivants ! http://www.prestashop.com/forums/topic/106880-astuce-afficher-la-liste-des-couleurs-dans-la-liste-des-produits-survol/ 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