Aixestudio Posted July 3, 2013 Share Posted July 3, 2013 Le code suivant permet d'ajouter les frais de port supplémentaire même lorsqu'ils sont offerts sur prestashop 1.5. Du type, frais de port offert à partir de 50€, mais j'ai un produit qui est encombrant ou plus lourd et je veux mettre 10€ supplémentaires, car mon transporteur me facture plus cher ce produit. De base Prestashop ne rajoute pas les frais de port supplémentaire si je dépasse le prix ou le poids du réglage des frais de port offerts. L'alternative c'est de changer un peu le code de la "classe" dans le fichier "cart.php" ligne 2637. // 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) { // Additional Shipping Cost per product foreach ($products as $product) if (!$product['is_virtual']){ $shipping_cost += $product['additional_shipping_cost'] * $product['cart_quantity']; } 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) { // Additional Shipping Cost per product foreach ($products as $product) if (!$product['is_virtual']){ $shipping_cost += $product['additional_shipping_cost'] * $product['cart_quantity']; } Cache::store($cache_id, $shipping_cost); return $shipping_cost; } Maintenant, les frais de ports supplémentaire s'ajoutent et peuvent être gérer depuis les fiches produits plus finement. 1 Link to comment Share on other sites More sharing options...
zellige Posted February 3, 2014 Share Posted February 3, 2014 Bonjour, Auriez-vous une idée pour configurer des frais de port lorsque le client demande que sa commande soit envoyée en deux fois. J'aimerai que le deuxième envoi facture les frais de port quelque soit le montant de la commande. A l'heure actuelle, si le client atteint le franco de port et choisi de recevoir en deux fois sa commande, il ne paye aucun des envois. Or c'est bien pour la première commande que les frais de port sont offerts et pas sur la deuxième. Si vous avez une idée, merci ! Link to comment Share on other sites More sharing options...
Konyak666 Posted June 26, 2015 Share Posted June 26, 2015 Merci beaucoup pour ce bout de code. Pour info, cela fonctionne aussi sur PS 1.6 (à partir de la ligne 1712) Link to comment Share on other sites More sharing options...
cirylBD28 Posted September 10, 2015 Share Posted September 10, 2015 (edited) Super cette modif ! Exactement ce qu'il me fallait... et comme le précise Konyak666, fonctionne impec sur 1.6 (par contre ligne 2782 chez moi) Edited September 10, 2015 by cirylBD28 (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