Prestashop : afficher le nombre total de produits disponibles

Certaines boutiques affichent le nombre total de produits disponibles directement sur la page d’accueil. Cela permet non seulement au visiteur d’appréhender la taille du catalogue de produits dont vous disposez ou de faire un call-to-action supplémentaire pour les parcourir.

Cela dit, la solution que je vous propose avec Prestashop 1.6.0.14 va utiliser une surcharge de la classe FrontController.php. Créer ce fichier dans le dossier prestashop/override/classes/controller/ et collez-y le code ci-dessous :

<?php
    /**
     *
     * OVERRIDE FrontControllerCore
     */

    class FrontController extends FrontControllerCore
    {
        public static function getProductTotal()
        {
            $productObj = new Product();
            $products = $productObj->getProducts(Context::getContext()->language->id, 0, 0, 'id_product', 'DESC', false, true);
            return count($products);
        }
    }

La fonction getProductTotal() permet de récupérer tous les produits disponibles (état activé) dans la langue dans laquelle le visiteur voit votre boutique.

etat-produit-prestashop

Videz le cache et assurez-vous que la surcharge est bien prise en compte. Vérifiez la présence des lignes ci-dessous dans le fichier class_index.php du dossier prestashop/cache/.

'FrontController' => 
array (
  'path' => 'override/classes/controller/FrontController.php',
  'type' => 'class',
  'override' => false,
),

Cette fonction peut être appelée dans n’importe quel .tpl de votre thème. Personnellement, j’ai ajouté la fonction ci-dessous tout en haut de l’index.tpl de mon thème.

<div id="product-total">
    Faites votre choix parmi les <span>{FrontController::getProductTotal()}</span> produits de la boutique !
</div>

Avec un peu de CSS, ajouté dans le global.css du thème.

#product-total span {
    font-size: 30px;
}

#product-total {
    padding: 20px 10px;
    text-align: center;
    width: 100%;
    background: none #18BF0A;
    margin: 0 0 20px;
    font-size: 20px;
    color: white;
}

Et voila le résultat :

nombre-produits

Vous pouvez aller plus loin en vous basant non plus seulement sur l’état du produit mais aussi sur son stock et la possibilité ou non de les commandes en hors-stock. De cette façon, les produits hors-stock indisponible à la vente mais dont l’état est actif ne seront pas comptabilisés.

Prestashop : déplacer la description des catégories en bas de page
Prestashop : Image produit personnalisée selon catégorie

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *