dandav55 Posted September 14, 2010 Share Posted September 14, 2010 Bonjour,J'ai bien lu divers posts sur le sujet et fait des testsJe n'arrive pas à faire " défiler " les produits phares de manière aléatoire "J'ai essayé le module homeproducts mais il me décale 1 produit sur les 4Je suis en version 1.2.5 avec le thème basartronicMerci pour vos conseils Link to comment Share on other sites More sharing options...
BVince Posted September 14, 2010 Share Posted September 14, 2010 Salut,Pour avoir un affichage aléatoire des produits dans le module "Produits phares", c'est très simple, on commence par regarder dans le fichier "homefeatured.php", on vois que la fonction utilisée et "getProducts()" de la classe "Category", en ligne 69 : $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); si on analyse la fonciton getProducts() du fichier Category du dossier Classes, on s'aperçoit qu'on peut passer plusieurs paramètres : public function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1) dont le fameux random qui va permettre une sélection aléatoire des produits, donc la ligne de code 69 du fichier homefeatured.php va devenir : $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), NULL, NULL, false, true, true, ($nb ? $nb : 10)); maintenant, les produits sélectionnés par le module "Produits phares" seront aléatoires....@+ 2 Link to comment Share on other sites More sharing options...
dandav55 Posted September 14, 2010 Author Share Posted September 14, 2010 Re,Merci infiniment pour cette explication qui fonctionne parfaitement dorénavantJe vais devoir faire une donation importante pour soutenir toutes / tous lesintervenants qui donnent des réponses claires et exploitables pour un néophytecomme moiBonne journée Link to comment Share on other sites More sharing options...
lenoir Posted September 20, 2010 Share Posted September 20, 2010 Merci beaucoup pour l'astuce, ça ouvre d'autres portes Link to comment Share on other sites More sharing options...
Straigh&Alert Posted October 10, 2010 Share Posted October 10, 2010 bonjour.J'ai une petite question.J'aimerai afficher mes produits en aléatoire mais que ce ne soit pas toujours les même d'affichés.Je m'expliqueJ'affiche 10 produits, mais j'ai 20 produits dans mes produits phares ( sous entendu avec la case "accueil" cochée)J'aimerai donc qu'à chaque nouvel affichage, un nouveau set de produits s'affiche parmi les 20 que j'ai.J'espère que c'est assez clair.merci d'avance Link to comment Share on other sites More sharing options...
dandav55 Posted October 10, 2010 Author Share Posted October 10, 2010 Bonjour,La réponse à ce souci a été donné un peu plus dans ce port par BVinceIl faut que tu modifie le fichier spécifiéBonne journée Link to comment Share on other sites More sharing options...
Straigh&Alert Posted October 10, 2010 Share Posted October 10, 2010 ah oui en effet mercije me suis emmêlé les pinceaux à traiter plusieurs problèmes à la foi et je n'ai pas vu. Link to comment Share on other sites More sharing options...
TC04 Posted January 28, 2011 Share Posted January 28, 2011 Merci Bcp BVince,Très facile, et très utile ! ;-) Link to comment Share on other sites More sharing options...
leaven Posted February 27, 2011 Share Posted February 27, 2011 Bonjour,J'ai acheté hier un module qui permet d'afficher les produits horizontalement, mais j'aimerai aussi qu'ils s'affichent de façon aléatoire, et j'ai essayé de trouver dans le code de la page mais cela n'est pas pareil..Je vous donne le code, et pourriez vous me dire quelle ligne il y a à modifier ou à rajouter pour que les produits s'affichent de manière aléatoire ? :<!-- MODULE Home Featured Products -->{if isset($products) AND $products} <!-- Products list --> {foreach from=$products item=product name=homeFeaturedProducts} getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" />{if $product.new == 1}{l s='nouveau' mod='homefeaturedproducts'}{/if}{$product.name|escape:'htmlall':'UTF-8'|truncate:70:'...'} {$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'} {if $product.on_sale}{l s='En Promo !' mod='homefeaturedproducts'} {elseif ($product.reduction_price != 0 || $product.reduction_percent != 0) && ($product.reduction_from == $product.reduction_to OR ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $product.reduction_to && $smarty.now|date_format:'%Y-%m-%d %H:%M:%S' >= $product.reduction_from))}{l s='Price lowered!' mod='homefeaturedproducts'} {/if} {if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if} {if ($product.allow_oosp OR $product.quantity > 0)}{l s='En Stock' mod='homefeaturedproducts'}{else}{l s='Out of stock' mod='homefeaturedproducts'}{/if} {if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}{l s='Add to cart' mod='homefeaturedproducts'} {else}{l s='Add to cart' mod='homefeaturedproducts'} {/if}{l s='View' mod='homefeaturedproducts'} {/foreach} <!-- /Products list -->{/if}Merci pour votre réponse. Link to comment Share on other sites More sharing options...
Tropical Dream Posted March 12, 2011 Share Posted March 12, 2011 merci beaucoup BVince, je confirme que cette technique est compatible avec prestashop 1.4 Link to comment Share on other sites More sharing options...
BVince Posted March 13, 2011 Share Posted March 13, 2011 Parfois on cherche loin alors que la solution est déjà là mais non utilisée... ;-) 1 Link to comment Share on other sites More sharing options...
Olivier from Madinina Posted May 10, 2011 Share Posted May 10, 2011 Sinon une autre solution consiste à insérer shuffle($products); juste avant $smarty->assign( .... Ca doit le faire aussi ! Link to comment Share on other sites More sharing options...
Vinc3nzo Posted June 8, 2011 Share Posted June 8, 2011 Magnifique! je cherchais depuis longtemps!Je confirme aussi, ca fonctionne sous PS 1.4.2 Link to comment Share on other sites More sharing options...
doodu94 Posted June 9, 2011 Share Posted June 9, 2011 Grand coup de chapeau ! Les deux méthodes indiquées fonctionnent du feu de dieu.Compatible Version 1.4.2.5 ! Réglé en 5 minutes BRVO 1 Link to comment Share on other sites More sharing options...
am79 Posted June 9, 2011 Share Posted June 9, 2011 bonjour, s'il vous plaît laissez-moi à comprendre ... Je dois montrer produits aléatoires qui arrivent de TOUTES les catégories. Comment dois-je faire? Entre autres choses je ne peux pas configurer manuellement les produits exposés, car les produits sont importés de .csv de sorte qu'un champ est trop long (caractères), puis je reçois une erreur lorsque je tente de sauver la présentation de produits ... s'il vous plaît aider! Merci! Link to comment Share on other sites More sharing options...
joanny21260 Posted June 9, 2011 Share Posted June 9, 2011 bjr a tous pouvez vous me dir ou trouvez se fameux fichier homefeatured.php svp merci d'avance Link to comment Share on other sites More sharing options...
Senjaman Posted June 15, 2011 Share Posted June 15, 2011 le fichier se trouve dans le dossier /modules/homefeatured/ Link to comment Share on other sites More sharing options...
Senjaman Posted June 15, 2011 Share Posted June 15, 2011 La solution marche parfaitement mais en revanche j'ai un autre problème : suivant l'ordre d'affichage de mes produits il y a des gros décalages qui se créent (cf image jointe).Si quelqu'un a rencontré le problème et a la solution merci d'avance. Link to comment Share on other sites More sharing options...
Senjaman Posted June 15, 2011 Share Posted June 15, 2011 En fait mon problème vient du thème prestashop_alt que j'utilise, j'ai eu la réponse à ma question alors pour ceux que ça intéresse il faut ajouter la lignediv.v2-homefeatured .float {height:300px !important;}à la fin du fichier themes/prestashop_alt/css/global.css Link to comment Share on other sites More sharing options...
hfth Posted August 29, 2011 Share Posted August 29, 2011 Bonjour, J'ai mis les 2 méthodes et en effet ça shuffle mais malheureusement toujours les mêmes produits. J'ai environ 30 produits en accueil et un affichage de 12 sur la page phare. A chaque rafraichissement il les met aléatoire mais toujours les 12 mêmes produits. ou est le hic? merci et salutations Link to comment Share on other sites More sharing options...
joanny21260 Posted September 18, 2011 Share Posted September 18, 2011 merci sa marche tres bien depuis le temps que je voulait le faire 1 Link to comment Share on other sites More sharing options...
RADIOTECH Posted October 28, 2011 Share Posted October 28, 2011 Bonjour, Et merci pour cette méthode qui marche très bien sauf que.... Comme d'autre, j'aimerais que les produits s'affichent aléatoirement et pas toujours les 12 premiers (dans mon cas). Est il possible de faire afficher, par exemple, 12 ( ou autre) produits différents à chaque fois parmi tous ceux de la boutique aléatoirement? D'autre part, peut on simplifier l'affichage avec simplement le nom, l'image et le prix sans tous les boutons? Ce qui permettrait de formater plus facilement l'affichage, je pense. Quelque chose de très simple. merci par avance Link to comment Share on other sites More sharing options...
snakeyese Posted November 14, 2011 Share Posted November 14, 2011 Je suis dans le même cas que vous ... L'aléatoire fonctionne bien mais seulement sur les 12 premiers produits. Si quelqu'un à une idée pour rendre l'aléatoire sur la catégorie Accueil (qui a plus que 12 produits dans mon cas) cela serait top Merci Link to comment Share on other sites More sharing options...
Vinc3nzo Posted November 14, 2011 Share Posted November 14, 2011 Essayez de changer la valeur dans le code que vous avez ajouté, a la place de 10 mettez 20 ou 30 produits. enfin je suppose que ça correspond au nombre de produits. Link to comment Share on other sites More sharing options...
Lebel Posted November 22, 2011 Share Posted November 22, 2011 Malheureusement le fait de changer la valeur dans le code ne change rien. C'est toujours les mêmes produits qui tournent... Link to comment Share on other sites More sharing options...
laurent75014 Posted December 31, 2011 Share Posted December 31, 2011 Vu sur le forum en italien dans le homefeatured.php Remplacer : $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); Par $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 50),NULL,NULL,false,true,true,($nb ? $nb : 10)); 50 étant le nombre de produits possibles dans la catégorie accueil et 10 le nb de produits affichés en page d'accueil. Ca semble fonctionner avec PS: 1.4.6.2 2 Link to comment Share on other sites More sharing options...
Lebel Posted January 2, 2012 Share Posted January 2, 2012 Super! merci ça fonctionne bien... Link to comment Share on other sites More sharing options...
diabolyo Posted January 2, 2012 Share Posted January 2, 2012 Génial, ça fonctionne parfaitement ! Et c'est gratuit Link to comment Share on other sites More sharing options...
hulk Posted January 4, 2012 Share Posted January 4, 2012 bonjour ça marche nickel pour moi aussi, et je veux ajouté une autre fonctionnalités pour les nouveaux produits. chaque nouveaux produit et attribué à la catégorie accueil donc il sera affiché dans le homefeuatred, ce que je veux c'est afficher une petite icône "NEW" pour les nouveaux produits en page d’accueil. merci d'avance Link to comment Share on other sites More sharing options...
Mike16000 Posted January 23, 2012 Share Posted January 23, 2012 Merci beaucoup pour la solution. Bonne continuation, je ne suis qu'au début de la construction. Cordialement, Michaël Link to comment Share on other sites More sharing options...
gomisloca Posted April 16, 2012 Share Posted April 16, 2012 merci beaucoup pour cette solution ca marche en version 1.4.7.3 :D Link to comment Share on other sites More sharing options...
claudebueno Posted April 18, 2012 Share Posted April 18, 2012 Merci BVince, ça marche extra et sans module supplémentaire à installer... Link to comment Share on other sites More sharing options...
yvon38 Posted May 4, 2012 Share Posted May 4, 2012 Bonjour, Depuis que le temps que je galère avec ce pb depuis que j'ai adopté PS 1.4.5.1 ça fonctionne très bien ! Merci de votre concours. Link to comment Share on other sites More sharing options...
tarsalfr Posted May 17, 2012 Share Posted May 17, 2012 un grand merci pour cette solution car je cherchais la requete sql pour la modifier en rand() et je trouvais rien ( 3 jour de presta il faut s'adapter) Link to comment Share on other sites More sharing options...
skewo Posted August 7, 2012 Share Posted August 7, 2012 Excellente solution qui plus est ultra simple à mettre en place. Merci beaucoup ! Link to comment Share on other sites More sharing options...
0Sabrina0 Posted December 1, 2012 Share Posted December 1, 2012 Bonsoir, je souhaiterai plus d'explication sur cette astuce, que voulez-vous dire par "aleatoire" les produits changent combien de fois ? A chaque connexions ? Link to comment Share on other sites More sharing options...
claudebueno Posted December 2, 2012 Share Posted December 2, 2012 Bonjour 0Sabrina0, que voulez-vous dire par "aleatoire" les produits changent combien de fois ? Aléatoire veut dire que l'ordre de présentation des produits phares sera différent. A chaque connexions ? L'ordre d'affichage des produits phares sera différent à chaque fois que la page sera affichée. @+ Link to comment Share on other sites More sharing options...
0Sabrina0 Posted December 2, 2012 Share Posted December 2, 2012 Bonjour itsystem et merci pour votre réponse, c'est bien la première fois que quelqu'un me repond ici... Je vais donc tenter cette option merci encore ! Link to comment Share on other sites More sharing options...
claudebueno Posted December 2, 2012 Share Posted December 2, 2012 Un forum d'entraide ça sert à ça : trouver des réponses. J'ai beaucoup appris sur ce forum aussi dès que je peux je réponds aux questions. Bonne continuation. @ bientôt sur le foum :-) Link to comment Share on other sites More sharing options...
0Sabrina0 Posted December 2, 2012 Share Posted December 2, 2012 Génial ca marche, vraiment top ! Itsystem prestashop est très efficace mais une question et y'a plus personne... Le seul bémol Link to comment Share on other sites More sharing options...
yvanb Posted January 3, 2013 Share Posted January 3, 2013 Bonjour à tous, je remonte ce topic pour apporté ma petite contrib pour la version 1.5.2.0.... Recherchez (Ligne 107) : $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); Remplacez par : $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10),NULL,NULL,false,true,true,($nb ? $nb : 10)); Ou pour avoir 50 produits aléatoire (50 étant le maximum) : $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 50),NULL,NULL,false,true,true,($nb ? $nb : 10)); Voilà, à bientôt Link to comment Share on other sites More sharing options...
cedrickb Posted January 22, 2013 Share Posted January 22, 2013 Bonjour tout le monde, J'aimerai exploiter ces astuces pour récupérer et afficher des produits sur la page d'accueil provenant d'autres catégories que la catégorie "Accueil". Est-ce que vous auriez une piste à me proposer? Je nage complètement là Merci d'avance! ++ Link to comment Share on other sites More sharing options...
claudebueno Posted January 22, 2013 Share Posted January 22, 2013 Bonsoir cedrickb, Je ne pense pas que ce soit possible d'afficher sur la page d'accueil dans le module d'autres produits n'appartenant pas à la catégorie accueil. Pourquoi ne pas mettre ces produits dans la catégorie Accueil en plus de leur catégorie d'appartenance ? Ou alors je n'ai pas compris ton souhait @+ Link to comment Share on other sites More sharing options...
abatos Posted February 4, 2013 Share Posted February 4, 2013 Bonjour, cela fonctionns t'il avec 1.5.3.1 Merci à tous Link to comment Share on other sites More sharing options...
franckcdg Posted February 10, 2013 Share Posted February 10, 2013 Bonjour, Super ça marche en 1.4.9 Merci à tous Link to comment Share on other sites More sharing options...
Lgfx13 Posted March 22, 2013 Share Posted March 22, 2013 Merci parfait sur 1.5.2 Link to comment Share on other sites More sharing options...
Laulau2912 Posted April 11, 2013 Share Posted April 11, 2013 Bonjour tout le monde, J'aimerai exploiter ces astuces pour récupérer et afficher des produits sur la page d'accueil provenant d'autres catégories que la catégorie "Accueil". Est-ce que vous auriez une piste à me proposer? Je nage complètement là Merci d'avance! ++ Salut Cédric, Pour changer la catégorie affichée tu dois changer l'ID de la catégorie dans la ligne suivante (1 étant par défaut la catégorie Accueil): $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); 1 Link to comment Share on other sites More sharing options...
dagena Posted April 12, 2013 Share Posted April 12, 2013 Bonjour, que dois je modifier pour avoir une autre catégorie que accueil: public function hookDisplayHome($params) { $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); return $this->display(__FILE__, 'homefeatured.tpl'); } est ce qu'il est possible de mettre plusieurs catégorie, pour ne pas toujours avoir le même style de produits. Merci Link to comment Share on other sites More sharing options...
dagena Posted April 12, 2013 Share Posted April 12, 2013 j'ai trouvé ma réponse pour PS 1.5 Dans la ligne suivante, Code: $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); Il faudra remplacer Context::getContext()->shop->getCategory() par l'id de la catégorie de ton choix. Attention : Si tu utilises le multiboutique, l'id de catégorie pourrait ne pas être le même d'une boutique à l'autre. Cette méthode sera donc inappropriée. Link to comment Share on other sites More sharing options...
yoss_55 Posted June 13, 2013 Share Posted June 13, 2013 MERCI BEAUCOUP Link to comment Share on other sites More sharing options...
lolad Posted September 13, 2013 Share Posted September 13, 2013 Bonjour j'ai mis à jour avec la version 1.5.5 de prestashop et du coup dans le fichier modules/homefeatured/homefeatured.php alors que le $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10),NULL,NULL,false,true,true,($nb ? $nb : 10)); ou le shuffle($products); au dessus de $this->smarty->assign(array(fonctionnaient très bien sous la version précédente de prestashop là plus rien ne fonctionne! Je n'ai plus rien d'afficher en aléatoire sur la page d'accueil Merci de votre aide Link to comment Share on other sites More sharing options...
Bondaty and Co Posted September 13, 2013 Share Posted September 13, 2013 Déplacé section Développement Link to comment Share on other sites More sharing options...
francklecancre Posted September 26, 2013 Share Posted September 26, 2013 Déplacé section Développement Bonjour à tous, J'ai effectué les modifs sur le code du fichier homefeatured.php l'affichage aléatoire fonctionne parfaitement. Cependant, en rafraichissant ma page pour tester,et de temps à autres ( une fois sur 3 ce qui est énorme) il arrive que certain produits ne s'affiche pas et laisse place a un espace vide. ce qui décale mon affichage linéaire ( de 5 produits ) et décale l'intégralité du module homefeature et donc de ma page d'accueil je suis en version 1.5 Quelqu'un a t'il rencontré ce problème? ou pense a une solution? merci par avance a bientot Link to comment Share on other sites More sharing options...
kanu Posted October 17, 2013 Share Posted October 17, 2013 Bonjour j'ai mis à jour avec la version 1.5.5 de prestashop et du coup dans le fichier modules/homefeatured/homefeatured.php alors que le $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10),NULL,NULL,false,true,true,($nb ? $nb : 10)); ou le shuffle($products); au dessus de $this->smarty->assign(array( fonctionnaient très bien sous la version précédente de prestashop là plus rien ne fonctionne! Je n'ai plus rien d'afficher en aléatoire sur la page d'accueil Merci de votre aide Bonjour, Avez vous trouvé une solution à votre problème j'ai exactement la même chose. Tout fonctionnait très bien avant l'update et depuis la mise à jour, malgré que le code soit tjs correcte plus d'affichage aléatoire ?? Merci. Link to comment Share on other sites More sharing options...
Helios-BP Posted October 30, 2013 Share Posted October 30, 2013 (edited) Pour ma part en 1.5.6.0 ça fonctionne très bien si je met le fichier de la version 1.5.4.1 modifié pour le mode aléatoire. Par contre si je modifie en aléatoire le fichier de la version 1.5.6.0 ca ne fonctionne pas ? Quelqu'un a t-il la solution ? Merci Edited October 30, 2013 by Helios-BP (see edit history) Link to comment Share on other sites More sharing options...
Helios-BP Posted October 30, 2013 Share Posted October 30, 2013 Non en fait il y a bien un affichage aléatoire mais pas à chaque rafraichissement ? Ou peux t-on régler cela ? Merci Link to comment Share on other sites More sharing options...
Goubi29 Posted February 19, 2014 Share Posted February 19, 2014 Bonjour, j'utilisais la même méthode comme indiqué ci dessous ( shuffle($products); ) Cependant depuis la maj de mon prestashop la modif ne fonctionne plus ! aucun solution de trouvé ? Link to comment Share on other sites More sharing options...
gaelo Posted March 22, 2014 Share Posted March 22, 2014 Salut, Ceci marche bien avec les version antérieur à 1.5. Comment arriver à faire la même chose avec la version 1.5.6 puisque les fichiers sont modifiés? Merci Salut,Pour avoir un affichage aléatoire des produits dans le module "Produits phares", c'est très simple, on commence par regarder dans le fichier "homefeatured.php", on vois que la fonction utilisée et "getProducts()" de la classe "Category", en ligne 69 : $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); si on analyse la fonciton getProducts() du fichier Category du dossier Classes, on s'aperçoit qu'on peut passer plusieurs paramètres : public function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1) dont le fameux random qui va permettre une sélection aléatoire des produits, donc la ligne de code 69 du fichier homefeatured.php va devenir : $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10), NULL, NULL, false, true, true, ($nb ? $nb : 10)); maintenant, les produits sélectionnés par le module "Produits phares" seront aléatoires....@+ Link to comment Share on other sites More sharing options...
gomisloca Posted March 31, 2014 Share Posted March 31, 2014 bonjour avant qu'on le demande pour la version 1.6 la transformation est celle ci HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), 'position'); remplacer par HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), NULL, NULL, false, true, true, ($nb ? $nb : 8), 'position'); et voila tout fonctionne Link to comment Share on other sites More sharing options...
TicTic Posted October 7, 2014 Share Posted October 7, 2014 Je re UP ce sujet car j'ai besoin de la solution : http://www.prestashop.com/forums/topic/367057-produit-phares-aleatoire/ 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