Jump to content

[RESOLU] Tri des produits sur toutes les pages et non pas page par page


Recommended Posts

Bonjour,

Actuellement lorsque que l'on tri les produits et qu'il y a plusieurs pages le tri ne s'applique qu'aux produits de la page courante et pas à toutes les pages.
Par exemple, sur la page si je tri par prix j'ai des produits de 10euros à 25euros et page 2, ça reprend à 12euros au lieu de repartir de 25...

J'ai du mal à avoir comment implémenter cette fonctionnalité, si vous avez des pistes elles sont les bienvenues.

Merci,

Franck_R

Link to comment
Share on other sites

je pense qu'il faut utiliser la session ($cookie), dans product-sort.php, genre:

$memOrderBy = Tools::getValue('orderby',-1);

if($memOrderBy>-1) {

   $cookie->orderBy = $memOrderBy;

   $orderBy = $memOrderBy;

} elseif($cookie->orderBy!=''){

   $orderBy = $memOrderBy;

} else {

    $cookie->orderBy = $orderByValues[intval(Configuration::get('PS_PRODUCTS_ORDER_BY'))];

    $orderBy = $cookie->orderBy;

}

Link to comment
Share on other sites

Bonjour,

Merci pour votre réponse.

Mais ce genre de code permettrait de "sauvegarder" l'ordre de tri d'une page à l'autre mais pas d'assurer le tri de toutes les pages dès le départ non?

Cordialement,

Franck_R

Link to comment
Share on other sites

Si vous ne voulez pas que l'utilisateur change de tri et que ce soit pour toutes les pages, il vaut mieux le mettre en dur.

J'ai un peu de mal à comprendre ce que vous voulez du coup.

Pourriez-vous expliquer à nouveau ?

Link to comment
Share on other sites

Bonjour,

Voilà un exemple(screens) pour que cela soit soit clair.

J'aimerais que le tri soit cohérent.

C'est un exemple car après des tests sur d'autres boutiques Prestashop(1.2 et 1.3) j'ai constaté la même anomalie, y compris avec des boutiques n'ayant qu'un seul prix(pas de prix réduit).

Cordialement,

Franck_R

26720_NS8seL1o3ZRkVBGwjiyp_t

Link to comment
Share on other sites

Bonjour,

Mon problème a été résolu.
Il y avait un calcul qui ne tenait pas compte des taxes, dans la requête SQL de la méthode getProducts(Category.php) dans la définition de l'alias orderprice dans la clause SELECT.

(p.`price` * ((100 + (t.`rate`))/100) - IF((DATEDIFF(`reduction_from`, CURDATE()) <= 0 AND DATEDIFF(`reduction_to`, CURDATE()) >=0) OR `reduction_from` = `reduction_to`, IF(`reduction_price` > 0, `reduction_price`, (p.`price` * ((100 + (t.`rate`))/100) * `reduction_percent` / 100)),0)) AS orderprice



Merci.

Link to comment
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...