Jump to content

Frais de ports gratuits avec restriction sur les transporteurs


Recommended Posts

Bonjour,

 

Je suis sous Prestashop 1.6.0.9.

Je souhaite configurer les frais de ports gratuits à partir de 120€ de commande, sauf pour chronopost qui reste payant.

 

J'ai crée un règle de panier avec 120 en montant minimum, et en cochant "restriction sur les transporteurs" et selectionnant les autres transporteurs que chronopost.

 

Et j'ai l'impression d'un bug Prestashop : les frais de port sont offerts quelque soit le montant, et si je desactive la restriction de transporteurs, les frais de port gratuit sont bien appliqué à partir de 120€.

 

Avez-vous déjà rencontré ce problème ? Est-ce un bug ?

 

Merci

 

Cordialement,

Link to comment
Share on other sites

Coucou

 

quand tu parles de règles panier est ce dans promotion=>règles panier ?

si oui ceci est pour faire des bon de réduction que le client entreras au moment de la comande

 

pour les transporteur  autre que chronopost  (je supose que tu calcul avec l'option " en fonction du prix") tu fait tes tranches jusqu’à 120 € et tu choisis  "désactiver le transporteur" pour l'option "comportement hors tranches" 

 

donc au dessus de 120€ les transporteurs seront cacher il n'y aura que chronopost

 

@++

Loulou66

Link to comment
Share on other sites

Merci Loulou66

 

mais je souhaite afficher tous les transporteurs, seulement au dela de 120€ seul Chronopost est payant.

Et les rêgles de panier permettent cela nativement mais prestashop ignore le montant minimum si on rajoute une sélection de transporteurs dans la règle. :wacko:

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Bonjour,

 

Je ne sais pas si tu as résolu ton problème, mais une solution consiste à mettre les frais de ports à 0 dans la configuration des transporteurs, à partir de la tranche désirée.

Celà ne fonctionne du coup que si tu configure tes frais de port en fonction du montant du panier, et non du poids, mais si c'est le cas, ça fonctionne.

 

En espérant que ça puisse t'aider.

Fred

Link to comment
Share on other sites

  • 1 month later...

Bonjour,
 
Une solution consiste à modifier dans class/cart.php la manière dont  prestashop prend en compte le transporteur gratuit. Dans notre cas, c'est le transporteur exapaq ayant l'ID 68 qui est gratuit, par contre Chronopost reste payant même si la limite de 500 HT de commande est dépassée. Bon, je l'ai fait à l'arrache, mais le mieux est de faire un override de la fonction. En fonction sur prestashop 1.6.0.14

// 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 && $id_carrier == 68) // modif titi avec id carrier= 68
		{
			Cache::store($cache_id, $shipping_cost);
			return $shipping_cost;
		}
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...