alex8521 Posted January 10, 2023 Share Posted January 10, 2023 Bonjour, J'ai un soucis sur un site prestashop avec les tarifs par quantité. Je m'explique : J'ai un produit qui existe un plusieurs déclinaisons, par exemple Tshirt(taille s, taille m, taille l). Le prix inittial est de 10 euros pour toutes les déclinaisons. Il dispose d'un tarif par quantité : - 10 Tshirt s : 9 euros l'unité. - 10 Tshirt m : 9 euros l'unité. - 10 Tshirt : 9 euros l'unité. Dans mon panier j'ai 10 Tshirt taille S et un T shirt taille m. Le panier total devrait être de 100 euros hors il est de 99 euros. A partir du moment où une des déclinaisons à atteint un tarif par quantité, il s'applique automatiquement à toutes les autres déclinaisons dans le panier. Ça fait quelques jours que je bug sur ce problème, avez-vous déjà eu le même soucis ? Merci beaucoup pour votre aide. Link to comment Share on other sites More sharing options...
coeos.pro Posted January 10, 2023 Share Posted January 10, 2023 En fait quand vous mettez une réduction pour une quantité de 10, ça s'applique sur le produit mais pas sur la déclinaison en elle même, si je prend un exemple comparable avec des remises à partir de 10 déclinaisons dans le panier, il suffit d'avoir 7 unités d'une déclinaison et 3 d'une autre pour avoir la remise, ça a toujours été comme ça sur prestashop : Link to comment Share on other sites More sharing options...
alex8521 Posted January 11, 2023 Author Share Posted January 11, 2023 (edited) Bonjour, Merci pour votre retour. J'ai maintenant les bons tarifs dans la colonne des informations produit. J'ai overridé dans la class Product, la requette sql dans la function getStaticPrice() : $sql = 'SELECT SUM(`quantity`) FROM `' . _DB_PREFIX_ . 'cart_product` WHERE `id_product` = ' . (int) $id_product . ' AND `id_product_attribute` =' . $id_product_attribute . ' AND `id_cart` = ' . (int) $id_cart ; Par contre j'ai toujours une erreur de calcul de prix dans la somme total dans le récapitulatif panier. Auriez-vous une idée de l' endroit à modifier pour que la somme dans le panier soit bonne ? Merci. Edited January 11, 2023 by alex8521 (see edit history) Link to comment Share on other sites More sharing options...
alex8521 Posted January 11, 2023 Author Share Posted January 11, 2023 Après quelques tests, j'ai réussi à solutionner mon problème. Toujours dans l'override de la class Product, j'ai ajouté ces lignes au début de la function priceCalculation : if($id_product_attribute !== "" && $id_product_attribute > 0 ) { $sql = $sql = 'SELECT SUM(`quantity`) FROM `' . _DB_PREFIX_ . 'cart_product` WHERE `id_product` = ' . (int) $id_product . ' AND `id_cart` = ' . (int) $id_cart . ' AND `id_product_attribute` = ' . (int) $id_product_attribute; $result = Db::getInstance()->getValue($sql, _PS_USE_SQL_SLAVE_); if(!empty($result)){ $real_quantity = $result; } } Je ne sais pas si c'est une bonne façon de faire, mais pour le moment les différents prix et calculs dans le panier sont bons. Je reste attentif pour voir si cela ne créée pas d'autres erreurs. 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