lokiiy Posted December 10, 2014 Share Posted December 10, 2014 Bonjour, Je suis en Prestashop version 1.6.0.9 j'ai un souci avec les frais de port. Dans ma boutique si vous achetez pour 75€ de produits les frais de port deviennent gratuit. (Je pense que ça concerne quand même beaucoup de e-Commerçant) Je propose plusieurs styles de frais de port : sans suivi, avec suivi, colissimo, Chronopost etc. Du coup, lorsqu'un client atteint les 75€ il a tous les modes de livraison sont gratuit Et s'est là qu'un généreux codeur ou alors LA TEAM PRESTASHOP DEVRAIT FAIRE QUELQUE CHOSE pour améliorer le code que je vais donner plus bas le code qui fonctionnait en Prrestashop 1.4 et même jusqu'à la 1.6.0.6 ou 1.6.0.8.... (le code à l'époque avait était généreusement fourni par : Masters "respect" Problème: depuis la 1.6.0.9 je me suis fait avoir sur plusieurs livraisons et le code ne fonctionne plus, il creer des erreurs s'y ont l'intégre dans le code et du coup ben ça fonctionne plus comme avant... Voici le code qui permet (où permettait) d'offrir-les frais de port à partir d’un certain montant (par exemple 99 €) avec un transporteur unique (exemple colissimo) et dans une zone unique (exemple France). Code qui se trouve dans le dossier « classes », ouvrir « Cart.php » // Free fees $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) $free_fees_price = Tools::convertPrice((float)($configuration['PS_SHIPPING_FREE_PRICE']), Currency::getCurrencyInstance((int)($this->id_currency))); $orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) AND (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0) return $shipping_cost; Qui était à modifier par : // Free fees $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) $free_fees_price = Tools::convertPrice((float)($configuration['PS_SHIPPING_FREE_PRICE']), Currency::getCurrencyInstance((int)($this->id_currency))); $orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0 AND intval($id_zone) == 9 AND intval($id_carrier) == 3) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) AND (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0 AND intval($id_zone) == 9 AND intval($id_carrier) == 3) return $shipping_cost; Et surtout il était conseillé de : Ne pas oublier de changer « ($id_zone) == 9 » par votre N° ID de zone Ainsi que le N° ID du transporteur pour le frais de port gratuit « ($id_carrier) == 3) » Donc en gros si il y a un codeur PHP qui voudrait mettre le nez dans le bout de code et trouver la solution pour un bon paramétrage en Prestashop 1.6.0.9 ca aidera pas mal de gens car je vois que personne n’a vraiment de réponse Merci d'avance de votre soutien Link to comment Share on other sites More sharing options...
lokiiy Posted December 15, 2014 Author Share Posted December 15, 2014 Mais heuu allezz petiitt papa noel ... Donne moi un bout de code J'ai étais très sage toute l'année ... Un petit papa noël de la Team Prestashop jsuis sur que c'est fait en une misère de temps !! 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