Jump to content

Problème de pagination sous la page promotion


Recommended Posts

Bonjour à tous,

je rencontre un problème sous PrestaShop au niveau de la page promotion (priceDrop). La pagination me renvoie le nombre total de produits (94 pages -> 937 produits) alors que je ne présente qu'une promotion (reduction_price = 10).

J'ai migré les produits d'un osCommerce vers la dernière version de PrestaShop.

J'ai bien retrouvé la requête SQL getPricesDrop dans la classe Product mais celle-ci n'est pas associée aux résultats de la pagination et je ne sais pas ou chercher pour trouver la requête SQL qui génère le nombre de page (il n'y a pas de classe Pagination, à priori, ou elle porte un autre nom).

Je suppose que le soucis vient de l'export. Un champs qui devait être NULL contient la valeur 0, ou autre...

D'avance, merci de votre aide.

Share this post


Link to post
Share on other sites

Bonsoir,

Il me semble avoir déjà vu ce bug dans le bug tracker et effectivement il est important de le régler si ce n'est déjà.

Quelle version utilisez-vous ? n'hésitez pas à vérifier si le bug a été corrigé et sinon à le reporter afin de faciliter la tâche à nos équipes :

http://www.prestashop.com/bug_tracker/

Cordialement,

Share this post


Link to post
Share on other sites

Pardon,

j'étais persuadé d'avoir répondu au post précédemment...

C'est bien la version 1.2.4 et le problème notifié sur le bug tracker.

Ce problème se retrouve aussi dans la version 1.2.5 ?

Share this post


Link to post
Share on other sites
  • 2 months later...

Si vous avez une ancienne version :

J’ai effectué cette correction qui fonctionne chez moi

Fichier Classes/Product.php

ligne 996 environ

J’ai remplacé ceci :

if ($count)
       {
           $result = Db::getInstance()->getRow('
           SELECT COUNT(`id_product`) AS nb
           FROM `'._DB_PREFIX_.'product`
           WHERE `reduction_price` > 0
           OR `reduction_percent` > 0
           AND `active` = 1');
           return intval($result['nb']);
       }
       $currentDate = date('Y-m-d');


par ceci :

if ($count)
       {
           $result = Db::getInstance()->getRow('
           SELECT COUNT(`id_product`) AS nb
           FROM `'._DB_PREFIX_.'product`
           WHERE (`reduction_price` > 0 OR `reduction_percent` > 0)
       '.((!$beginning AND !$ending) ?
           'AND (`reduction_from` = `reduction_to` OR (`reduction_from` <= \''.$currentDate.'\' AND `reduction_to` >= \''.$currentDate.'\'))'
       :
           ($beginning ? 'AND `reduction_from` <= \''.$beginning.'\'' : '').($ending ? 'AND `reduction_to` >= \''.$ending.'\'' : '')).'
           AND `active` = 1
           ');
           return intval($result['nb']);
       }
       $currentDate = date('Y-m-d');



Et je n’ai plus le problème de pagination

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More