krymeleroy Posted December 29, 2012 Share Posted December 29, 2012 (edited) Bonjour à tous ! Je me heurte à un petit problème depuis quelques jours sur mon presta 1.4.9 : Constat : Le calcul des tranches de prix pour les frais de ports sont calculés à partir du prix TTC de mes produits et non du prix Hors Taxes. Ce qui est très gênant pour moi qui vit en Amérique du Nord ou chaque province / État à un taux de taxe différent et ou nous affichons tous nos prix en Hors Taxes. Ma config : presta 1.4.9, Tranche de prix 0$ - 60$ : Shipping = 8$ Tranche de prix 60$ - 1000$ : shipping = 0$ Mon problème est que cette "barrière" des 60$ est TTC alors que tous mes prix sont basés et affichés sur le HT. En gros : mes clients qui achètent pour 59$ HT se voient offrir les frais de ports alors que ceux ci ne sont supposés être gratuits qu'a partir de 60$ hors taxes... NB : Il m'est impossible d'afficher les prix en TTC comme en Europe car nous avons une 50aine de taux de taxes différents... MON BUT : transformer cette barrière de 60$ TTC en 60$ HT Je suis à votre écoute même pour un ersatz de réponse... merci Edited January 2, 2013 by krymeleroy (see edit history) Link to comment Share on other sites More sharing options...
Broceliande Posted December 31, 2012 Share Posted December 31, 2012 Salut, Sur la 1.4.9, le calcul du total avant appel au calcul par tranches de prix est fait à la ligne 1059 de /classes/Cart.php : $order_total = $this->getOrderTotal(true, Cart::ONLY_PHYSICAL_PRODUCTS_WITHOUT_SHIPPING); C'est le premier paramètre qui te fiche dans l'eau : true , qui signifie en gros ttc... Si tu mets false à la place, et en supposant (je n'ai pas testé mais il semble que ce soit ok) , que la variable $order_total ne soit utilisée que pour le calcul des tranches dans ce contexte, alors tu auras le résultat souhaité. Après évidemment si tu veux faire propre on pourra dire qu'il est mieux de faire une override etc .... mais dans ton cas , si tu changes de version de presta au dela de la 1.4.9, il y a fort à parier que ton override ne sera plus correcte. Je dirais donc que dans ton cas, une modif core de la ligne 1059 de cette classe en : $order_total = $this->getOrderTotal(false, Cart::ONLY_PHYSICAL_PRODUCTS_WITHOUT_SHIPPING); résoudra ton affaire. Link to comment Share on other sites More sharing options...
krymeleroy Posted January 2, 2013 Author Share Posted January 2, 2013 Un grand merci pour cette réponse rapide! je vais essayer ça !! Link to comment Share on other sites More sharing options...
krymeleroy Posted January 2, 2013 Author Share Posted January 2, 2013 et c'est un succès !! Merci très cher Broceliande ! 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