rquantin Posted August 26, 2015 Share Posted August 26, 2015 Bonjour, Alors je sais qu'il y a des sujets sur ce thème mais malgré toutes mes recherches je ne trouvé aucune solution. Comme beaucoup de boutique, les frais de port sont offert, pour ma boutique à partir de 69€ pour la France uniquement (id 1) pour le Transporteur Mondial Relay uniquement (id 100). J'utilise le module EnvoiMoinsCher pour les transporteurs. Suivant différents sujets ici j'ai modifié le fichier /class/cart.php en ajoutant les conditions: 2926 ------------------- // 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, null, null, false); if ($orderTotalwithDiscounts >= (float)($free_fees_price) && (float)($free_fees_price) > 0 ) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) && $this->getTotalWeight() >= (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] && (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] > 0) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } Par ----- // Free fees $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE']) && (float)($id_zone) ==1 && (float)($id_carrier) ==100) { $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, null, null, false); if ($orderTotalwithDiscounts >= (float)($free_fees_price) && (float)($free_fees_price) > 0 ) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) && $this->getTotalWeight() >= (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] && (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] > 0) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } Dans le Back Office: Livraison ->Préférences J'ai mis la valeur 69 dans les frais de port offert à partir de: Mais ça ne fonctionne pas. Dès que le panier atteint 69€ ce sont tous les transporteurs qui passe en Offert. Pour info je suis sous Prestashop 1.6.1.1 Merci pour vos retour, Cdt Link to comment Share on other sites More sharing options...
Rémi Kezel Posted September 3, 2015 Share Posted September 3, 2015 (edited) Bonjour, Je suis en train de paramétrer la mise en place avec EnvoiMoinsCher et j'ai le même souci Cela fonctionné très bien avant, avec des transporteurs classiques... Il y a peut être une modification à effectuer directement dans le module d'EnvoiMoinsCher. Je vais rechercher de ce côté là. Edited September 3, 2015 by Eladuriel (see edit history) Link to comment Share on other sites More sharing options...
Rémi Kezel Posted September 4, 2015 Share Posted September 4, 2015 (edited) Bonjour, Je viens de trouver une solution (et sans modification dans le code). Le seul défaut c'est que le tarif de frais de port n'est pas affiché comme offert au niveau de la sélection du transporteur (04 Livraison). Mais la livraison est indiquée comme offerte au niveau de l'étape "01 Récapitulatif" et "05 Paiement". Merci de me dire si quelqu'un trouve une meilleur solution. Voici quelques aperçus du paramétrage à effectuer. Il faut créer une règle panier mais sans code : Edited September 4, 2015 by Rémi Kezel (see edit history) 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