eric69 Posted June 16, 2010 Share Posted June 16, 2010 Bonjour,j'ai mis frais de port offert a partir de 99€ de commande! okj'ai créé un bon de réduction à tous mes clients avec un pourcentage! okquand il y a une commande sur un produit avec un prix de base en dessous de 99€ puis la réduction du bon j'ai bien les frais de port qui sont pris en compte okLe souci est que quand il y à une commande sur un prix de base au dessus 99€ puis la réduction qui emmène le prix final en dessous de 99€ les frais de port ne sont pas comptés ?En fait PS garde en mémoir que la commande est au dessus de 99€ donc pas de frais de port, mais ne tiens pas compte de la réduction qui fait passer la commande en dessous de 99€ et donc pas de frais de port pour le client?C'est ennuyeux , pouvez-vous m'aider svp?mercieric Link to comment Share on other sites More sharing options...
neutsuko Posted June 16, 2010 Share Posted June 16, 2010 Bonsoir,J’ai exactement le même soucis, personne n’a trouvé de réponse?Merci Link to comment Share on other sites More sharing options...
gyom86 Posted June 17, 2010 Share Posted June 17, 2010 Si quelqu'un a la solution je suis également preneur ! Link to comment Share on other sites More sharing options...
France Posted July 20, 2010 Share Posted July 20, 2010 Même soucis et j'ai posté le problème sur un autre topic mais pas de réponse. :-(( Link to comment Share on other sites More sharing options...
France Posted August 2, 2010 Share Posted August 2, 2010 Je remonte le topic car j'aimerais bien une solution à ce problème.Les pros sont peut-être revenus de vacances et on aura peut-être une solution.Faut continuer d'espérer! :-) Link to comment Share on other sites More sharing options...
France Posted August 16, 2010 Share Posted August 16, 2010 Bonjour,Je continue d'espérer que quelqu'un nous apportera une solution à ce problème.Merci de votre aide Link to comment Share on other sites More sharing options...
zaye Posted August 30, 2010 Share Posted August 30, 2010 Bonjour,Voilà ce qu'il faut faire:Dans le fichier Classes\Cart.php, vers la ligne 651 vous avez : // Checking discounts in cartremplacez le code par : // Checking discounts in cart $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) { $discount = new Discount(intval($id_discount['id_discount'])); if (!Validate::isLoadedObject($discount)) die(Tools::displayError()); if ($discount->id_discount_type == 3) //Free Shipping foreach($products AS $product) { $oProduct = new Product($product['id_product']); $categories = Discount::getCategories($discount->id); if(count($categories)) { foreach($categories AS $category) if($oProduct->isOnCategoryId($category)) return 0; } } elseif ($discount->id_discount_type == 2) //Discount on order (amount) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = $orderTotal-$discount->value; } elseif ($discount->id_discount_type == 1) //Discount on order (%) { // Order total without fees $orderTotal = $this->getOrderTotal(true, 7); $orderTotal = floatval($orderTotal-($orderTotal*($discount->value)/100)); } } // Order total without fees if (!isset($orderTotal)) $orderTotal = $this->getOrderTotal(true, 7); Les frais de port seront calculés après application du bon de réduction. Link to comment Share on other sites More sharing options...
France Posted August 30, 2010 Share Posted August 30, 2010 Bonjour Zaye,Merci beaucoup! Je t'adore!Tu viens de me régler 2 problèmes en même temps!Le bon de réduction se calcule sans les taxes (pour moi au Québec c'est parfait) en plus du transport qui se calcule maintenant sur le montant après réduction donc plus de transport gratuit si la commande est moins que $69 une fois la réduction appliquée.Je te remercie un million de fois! Link to comment Share on other sites More sharing options...
zaye Posted August 30, 2010 Share Posted August 30, 2010 J'ai pas mal galéré aussi avant de trouver la solution dans le forum ; comme je passai par là je me suis dit que ça pouvait rendre service.Joli nom 'France' pour quelqu'un du Québec. Link to comment Share on other sites More sharing options...
France Posted September 30, 2010 Share Posted September 30, 2010 Bonjour ZayeÇa règle le problème dans la boutique dans le résumé de la facture mais pas sur la facture pdf.Et même si cela semble une réduction sans les taxes (comme je l'espère toujours) ce n'est pas le cas.Capture d'écran du résumé (réduction $8.97)Capture d'écran de la facture pdf (réduction $9.32)Donc les fameuses taxes se calculent toujours sur le bon de réduction et ça je trouve ça tout à fait ridicule.Est-il possible de faire afficher les chiffres comme sur le résumé et faire en sorte que les taxes ne soient pas calculées sur le bon de réduction?Merci de ton aide Link to comment Share on other sites More sharing options...
zaye Posted October 1, 2010 Share Posted October 1, 2010 Bonjour France,Le code que j'ai rapporté plus haut n'est pas de moi. Je l'ai mis en ordre à partir de solutions données sur d'autres threads.Je n'avais pas remarqué ce problème de taxe car pour l'instant je vais travailler en HT.Je ferai quelques essais dès que j'aurai un peu de temps et ne manquerai pas de te dire si je trouve quelque-chose. Link to comment Share on other sites More sharing options...
frederic.salley Posted May 4, 2012 Share Posted May 4, 2012 A priori sur la 1.4.6 cette solution ne fonctionne pas :/ Link to comment Share on other sites More sharing options...
jcandres Posted June 15, 2012 Share Posted June 15, 2012 (edited) Bonjour, Fichier classes/cart.php function getOrderShippingCost($id_carrier = NULL, $useTax = true) { global $defaultCountry; if ($this->isVirtualCart()) return 0; $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) if ($id_discount['id_discount_type'] == 3) { if ($id_discount['minimal'] > 0) { $total_cart = 0; $categories = Discount::getCategories((int)($id_discount['id_discount'])); if (sizeof($categories)) foreach($products AS $product) if (Product::idIsOnCategoryId((int)($product['id_product']), $categories)) $total_cart += $product['total_wt']; if ($total_cart >= $id_discount['minimal']) return 0; } else return 0; } $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); Modif sur la version 1.4.6.2 J'ai copié le debut de la fonction ou il faut effectuer la modification BOTH_WITHOUT_SHIPPING au lieu de ONLY_PRODUCTS_WITHOUT_SHIPPING Je garanti rien par contre Edited June 15, 2012 by jcandres (see edit history) 1 Link to comment Share on other sites More sharing options...
djkleb Posted July 4, 2012 Share Posted July 4, 2012 Hello! J' ai exactement le même souci avec la 1.4.7. J'ai essayer la methode de la 1.4.6 et d 'autre manip mais sans succès... Quelqu'un à la solution? Merci d'avance!! Link to comment Share on other sites More sharing options...
laurent75014 Posted September 8, 2012 Share Posted September 8, 2012 Bonjour, Fichier classes/cart.php function getOrderShippingCost($id_carrier = NULL, $useTax = true) { global $defaultCountry; if ($this->isVirtualCart()) return 0; $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) if ($id_discount['id_discount_type'] == 3) { if ($id_discount['minimal'] > 0) { $total_cart = 0; $categories = Discount::getCategories((int)($id_discount['id_discount'])); if (sizeof($categories)) foreach($products AS $product) if (Product::idIsOnCategoryId((int)($product['id_product']), $categories)) $total_cart += $product['total_wt']; if ($total_cart >= $id_discount['minimal']) return 0; } else return 0; } $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); Modif sur la version 1.4.6.2 J'ai copié le debut de la fonction ou il faut effectuer la modification BOTH_WITHOUT_SHIPPING au lieu de ONLY_PRODUCTS_WITHOUT_SHIPPING Ca fonctionne nickel avec une PS 1.4.6.2 et sur PS 1.4.3 Merci 1 Link to comment Share on other sites More sharing options...
akhawat Posted October 24, 2013 Share Posted October 24, 2013 Bonjour quelqu'un aurait il une solution pour que les frais de port offert ne soient déclenché qu'après dedustion des bons de reductions ? prestashop version 1.5.6 cordialement Link to comment Share on other sites More sharing options...
l'essentielle-ac Posted October 25, 2013 Share Posted October 25, 2013 et si vous augmentez le prix pour la livraison gratuite de10 ca donne quoi? Link to comment Share on other sites More sharing options...
l'essentielle-ac Posted October 25, 2013 Share Posted October 25, 2013 ne mettez pas de pourcentage mais un en € Link to comment Share on other sites More sharing options...
akhawat Posted October 26, 2013 Share Posted October 26, 2013 bonjour augmenter le prix pour la livraison n'a pas d'interet, ce serait valable si mes frais de port étaient egal a 10€ pour ce qui est de selectionner un montant en euro au lieu d'un % ca n'y change rien. le client garde les benefice des frais de ports gratuit même s'il redescent sous le seuil qui declenche la gratuitée. cdlt Link to comment Share on other sites More sharing options...
jd440 Posted February 18, 2014 Share Posted February 18, 2014 Avez vous trouvé la solution? Link to comment Share on other sites More sharing options...
mellowman Posted April 23, 2015 Share Posted April 23, 2015 Bonjour, Fichier classes/cart.php function getOrderShippingCost($id_carrier = NULL, $useTax = true) { global $defaultCountry; if ($this->isVirtualCart()) return 0; $products = $this->getProducts(); $discounts = $this->getDiscounts(true); if ($discounts) foreach ($discounts AS $id_discount) if ($id_discount['id_discount_type'] == 3) { if ($id_discount['minimal'] > 0) { $total_cart = 0; $categories = Discount::getCategories((int)($id_discount['id_discount'])); if (sizeof($categories)) foreach($products AS $product) if (Product::idIsOnCategoryId((int)($product['id_product']), $categories)) $total_cart += $product['total_wt']; if ($total_cart >= $id_discount['minimal']) return 0; } else return 0; } $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); Modif sur la version 1.4.6.2 J'ai copié le debut de la fonction ou il faut effectuer la modification BOTH_WITHOUT_SHIPPING au lieu de ONLY_PRODUCTS_WITHOUT_SHIPPING Je garanti rien par contre Ça fonctionne aussi sur 1.6.0.14, dans classes > cart.php line 2642 remplacer ONLY_PRODUCTS_WITHOUT_SHIPPING par BOTH_WITHOUT_SHIPPING Link to comment Share on other sites More sharing options...
akhawat Posted April 24, 2015 Share Posted April 24, 2015 Bonjour une idée pour la 1.5.6.1 ? Link to comment Share on other sites More sharing options...
mellowman Posted April 24, 2015 Share Posted April 24, 2015 Non désolé Avez-vous essayé de remplacer ONLY_PRODUCTS_WITHOUT_SHIPPING par BOTH_WITHOUT_SHIPPING dans classes > cart.php ? Link to comment Share on other sites More sharing options...
akhawat Posted April 27, 2015 Share Posted April 27, 2015 (edited) bonjour oui j'ai essayé mais cela ne fonctionne pas Edited April 27, 2015 by akhawat (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted October 30, 2015 Share Posted October 30, 2015 Une bonne nouvelle J'ai pris le temps de réaliser ce petit module sous forme de patch pour vous permettre d'inclure les frais de port dans les bons de réduction. Disponible ici :http://eoliashop.com/reduction-full Link to comment Share on other sites More sharing options...
Pedro Pinto Posted February 19, 2016 Share Posted February 19, 2016 j'arrive pas à le mettre en route sur 1.6.0.14->1.6.1.4 Link to comment Share on other sites More sharing options...
Eolia Posted February 19, 2016 Share Posted February 19, 2016 Mettre en route quoi ? Link to comment Share on other sites More sharing options...
Pedro Pinto Posted February 19, 2016 Share Posted February 19, 2016 L'override proposé... Link to comment Share on other sites More sharing options...
Eolia Posted February 19, 2016 Share Posted February 19, 2016 C'est pour ça que j'ai fait un module Link to comment Share on other sites More sharing options...
akhawat Posted February 21, 2016 Share Posted February 21, 2016 bonjour je viens d'acheter le module et je l'ai utilisé pour la première fois. je me rends compte, que le code de réduction créé lors d'un remboursement ne peut pas servir directement a payer les frais de port également. je suis obligé d'aller modifier l'otion à refund pour que cela soit possible et c'est la ou cela me gêne. j'aimerais que lorsque je crée un code réduction lors d'un avoir il soit automatiquement en mode refund afin d'inclure les frais de ports. Comment faire ? est il possible de mettre l'option refund par defaut ou programmer le module pour qu'elle soit sélectionné automatiquement pour les code issu d'un avoir. cdlt Link to comment Share on other sites More sharing options...
Eolia Posted February 21, 2016 Share Posted February 21, 2016 C'est tout à fait possible. Vous devez éditer le fichier /controllers/AdminOrdersController.php et passez la valeur à 2 (refund et partiel autorisé) ou 3 (refund en une seule fois) à la ligne 777 (env.) $cart_rule->partial_use = 1; devient donc, par exemple: $cart_rule->partial_use = 2; Notez ce changement car si vous faites une mise à jour de votre Prestashop ces modifications seront perdues. Link to comment Share on other sites More sharing options...
akhawat Posted February 23, 2016 Share Posted February 23, 2016 Bonjour ca à l'air d'être ok merci cdlt Link to comment Share on other sites More sharing options...
akhawat Posted March 7, 2016 Share Posted March 7, 2016 bonjour encore une question, avec votre module est ce que le fonctionnement de la remise en pourcentage reste inchangé ? c'est à dire qu'il ne s'applique qu'au produit et non au frais de port ou est elle appliqué également aux frais de port ce que nous ne voulons pas. cdlt Link to comment Share on other sites More sharing options...
Eolia Posted March 7, 2016 Share Posted March 7, 2016 Mon module permet les bons de réductions en TTC (équivalent argent) sur l'ensemble de la commande. Les réductions en % ne sont pas possibles si vous choisissez "Type Remboursement". Vos autres règles en % conservent le fonctionnement d'origine, c'est à dire uniquement sur les produits (Hors Frais de port) Link to comment Share on other sites More sharing options...
bretweb Posted April 12, 2017 Share Posted April 12, 2017 Bonjour a tous Je relance ce post car suite a une mise a jour de 1.6.1.0 vers PRESTA 1.6.1.12 je rencontre ce problème de frais de port frais de port pas pris en compte avec bon réduction ...Port gratuit à partir de 49€ Montant commande 50€ = ok port gratuit après Remise 1ere commande 5% = 47,50€ Le port reste gratuit alors qu'il devrait être facturé puisque la cde passe sous les 49€ ! ..... Merci pour votre aide Link to comment Share on other sites More sharing options...
Gu1llaume Posted January 21, 2019 Share Posted January 21, 2019 Bien résumé @bretweb, je suis également preneur d'une solution pérenne pour éviter ce problème... Link to comment Share on other sites More sharing options...
Eolia Posted January 21, 2019 Share Posted January 21, 2019 quelle priorité avez-vous mis pour ces règles ? Celle des frais de port doit être en dernier^^ 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