zazou30_1 Posted October 7, 2010 Share Posted October 7, 2010 Bonjour à tous et merci pour votre implication :Il y a des réponse fructueuses, mais mon problème est différentEn résumé voila ce que je souhaiterai pour mes transporteurs et frais de portTransporteurs Pour la France :Colissimo (Simple) : Gratuit à partir de 69€ – cela fonctionne, sauf que la gratuité s’applique sur tous les autres transporteurs de la zone FranceColissimo recommandé R1 : Pas de Gratuité (La gratuité s’applique quand même à partir de 69€)Colissimo recommandé R2 : Pas de Gratuité (La gratuité s’applique quand même à partir de 69€)Colissimo recommandé R3 : Pas de Gratuité (La gratuité s’applique quand même à partir de 69€)Transporteurs Pour l’Outre-Mer :Colissimo Outre-mer : Pas de Gratuité (Cela fonctionne)Colissimo recommandé Outre-Mer R1 : Pas de Gratuité (Cela fonctionne)Colissimo recommandé Outre-Mer R2 : Pas de Gratuité (Cela fonctionne)Colissimo recommandé Outre-Mer R3 : Pas de Gratuité (Cela fonctionne)Transporteurs Pour la zone Europe :Colissimo international Europe : Pas de Gratuité (Cela fonctionne)Le transporteur par défault est bien le colissimo simple pour la zone FranceCe que j’ai modifié dans le Class/Cart.php :if (isset($configuration[‘PS_SHIPPING_FREE_PRICE’]) AND $orderTotal >= floatval($configuration[‘PS_SHIPPING_FREE_PRICE’]) AND floatval($configuration[‘PS_SHIPPING_FREE_PRICE’]) > 0) return $shipping_cost;remplacer par if (isset($configuration[‘PS_SHIPPING_FREE_PRICE’]) AND $orderTotal >= floatval($configuration[‘PS_SHIPPING_FREE_PRICE’]) AND floatval($configuration[‘PS_SHIPPING_FREE_PRICE’]) > 0 AND $id_zone==6) return $shipping_cost;Allez, je suis sûr que l’on va trouver, il y a t’il des programmateurs qui ont la solution gratuite ?Précision : Je suis Prestashop 1.2 Link to comment Share on other sites More sharing options...
MasterS Posted January 6, 2012 Share Posted January 6, 2012 Bonjour, Voici la solution pour 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). Modification valable pour la version 1.4.6.2 et les précédentes. Vous devez d’abord créer vos transporteurs, vérifier les zones, paramétrer le frais de port gratuit à partir de 99€ par exemple, ensuite veuillez repérer l’ID de la zone où vous souhaitez offrir le port, ainsi que l’ID du transporteur qui prendra en charge le transport gratuit. Dans le dossier « classes », ouvrir « Cart.php », voici les lignes qui nous intéressent (à la ligne 1118 environ) : // 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; Veuillez modifier par ce qui suit : // 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; 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) » Sa aidera pas mal de gens car je vois que personne n’avait vraiment de réponse Cordialement 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