Comment afficher aléatoirement les produits phares de Prestashop 1.5.6.2 ?

Petit tutoriel Prestashop 1.5.6.2 qui explique comment afficher de façon aléatoire des produits du bloc produits phares

Logo de Prestashop sur fond blanc

Article publié le 07/10/2014 par Thomas Gottvalles dans la catégorie Développement web et logiciel. Cet article a été modifé le 07/02/2021.

Nous allons voir dans ce tutoriel comment afficher de manière aléatoire des produits phares sur une boutique Prestashop version 1.5.6.2. Pour information, Prestashop est un système de gestion de contenu Open Source permettant de créer une boutique en ligne.

Le module produits phares de Prestashop est un module natif qui permet d’afficher des produits affectés à la catégorie accueil. Le bloc produits phares se situe donc en principe sur la page d’accueil de la boutique. Il existe deux méthodes pour pouvoir afficher les produits phares aléatoirement : en installant un module tiers ou en modifiant le code source du module installé par défaut dans Prestashop. Nous allons voir la deuxième méthode, en modifiant directement le code source (script PHP).

Modification du script PHP

Le module produits aléatoires se nomme homefeatured et se situe dans le répertoire modules :

modules/homefeatured

 

Il faut ouvrir et éditer un seul fichier du module pour arriver à nos fins, c’est le fichier homefeatured.php :

modules/homefeatured/homefeatured.php

 

Comme vous pouvez le constater, le fichier PHP contient une classe HomeFeatured qui hérite de la classe Module. Nous allons modifier deux lignes de code dans une méthode de classe qui a pour fonction de récupérer les produits et de les afficher dans le template situé sur la page d’accueil (bloc produits phares). La méthode de classe en question est la méthode hookDisplayHome(). Rendez-vous donc dans la méthode de classe hookDisplayHome à la ligne 123 :

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8));

 

$products contient les produits phares (normalement des objets) qui ont été retournés par la méthode getProducts() de l’objet $category. Nous allons ajouter des paramètres à cette méthode comme ceci :

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), NULL, NULL, false, true, true, ($nb ? $nb : 8), ‘position’);

 

Si vous voulez en savoir plus sur les paramètres de la méthode getProducts() de la classe Category, rendez-vous à la ligne 539 du fichier :

classes/Category.php

 

Nous allons ensuite modifier la ligne 131 :

return $this->display(__FILE__, ‘homefeatured.tpl’, $this->getCacheId(‘homefeatured’));

 

Ce code retourne le template homefeatured.tpl grâce à la méthode display() de la classe HomeFeatured. Pour pouvoir afficher les produits phares à chaque rafraichissement de la page accueil, nous allons supprimer le deuxième paramètre de la méthode comme ceci :

return $this->display(__FILE__, ‘homefeatured.tpl’);

 

Voilà, en modifiant ces deux lignes (123 et 131) de code, les produits phares devraient s’afficher de manière aléatoire à chaque rafraichissement de la page accueil. N’oubliez pas que pour afficher les produits phares, vous devez affecter les produits à la catégorie accueil dans le back office de Prestashop.

Partager sur les réseaux sociaux

Lire des commentaires

Information

Aucun commentaire enregistré dans la base de données.

Poster un commentaire

Articles similaires

Personne regarde son smartphone devant site web

Comment fonctionne un site web ?

Article posté le 26/05/2023 par Tesseract IT dans la catégorie Développement web et logiciel

Avec l'avènement de l'internet, les sites web sont devenus des outils incontournables pour les entreprises, les institutions et même les particuliers. Les sites web permettent de communiquer avec le monde entier, de vendre des produits et des services et (...)

Logo des circuits imprimés en matériel libre Arduino

Comment faire clignoter une LED avec arduino ?

Article posté le 28/01/2018 par Thomas Gottvalles dans la catégorie Fun en informatique et électronique

Nous allons voir dans ce tutoriel comment faire clignoter une LED avec un circuit imprimé Arduino Uno et quelques composants. Il s'agit d'un deuxième montage pour toute personne souhaitant découvrir l'électronique (...)

Logo de l'éditeur Bluefish représentant un poisson bleu

Bluefish, un super éditeur pour vos pages web

Article posté le 02/12/2014 par Thomas Gottvalles dans la catégorie Tests et dossiers de produits high-tech

Le choix d'un éditeur est primordial qu'on soit un webmestre ou un développeur. On a besoin de modifier rapidement les pages et de trouver les erreurs. De nombreux éditeurs sont conçus spécifiquement pour la modification de pages (...)

Conseils pour le marketing par courriel. Image représentant un ordinateur et un email.

Quelques conseils pour le marketing par courriel

Article posté le 15/06/2015 par Partenaires dans la catégorie Référencement SEO / SEA / SEM / SMO et webmarketing

Par rapport aux autres circuits de communication traditionnels, l’email marketing se différencie par son prix. Le marketing par courriel est moins cher et ne nécessite pas des frais d’impression ni d’exposition sur un canal d’affichage. En choisissant (...)