Jump to content

Frais De Port Gratuit Suivant Un Mini De Cmd Mais Uniquement Pour La France


Recommended Posts

Bonjour,

 

j'ai scruté le forum à la recherche d'une solution concernant les frais de port :

 

frais de port gratuit pour commande supérieur a 100€(valeur d'exemple) uniquement pour la France

 

concernant les autres pays cette gratuité ne doit pas etre appliquée.

 

Dans le cas présent elle est appliquée d'office si le montant de la commande depasse les 100€ quelque soit le pays de livraison ce qui est plus qu'embetant en cas de commande venant du japon par exemple !

 

J'ai bien trouvé un post relatant cette même demande, mais la solution proposée me semble obsolète par rapport à la version de Presta 1.4.3, le code du fichier CART.PHP ayant changé dans cette version.

 

(pour info voici le topic en question : )

http://www.prestasho...pour-la-france/

 

Merci de votre aide car c'est un réel big problème

Link to comment
Share on other sites

bonjour, vous n’êtes pas seul et le souci s'est déjà résolu ...mais je n'ai pas trouvé non plus le topic en question. Pour résumer, il faut créer une nouvelle zone ("métropole" par exemple sauf si vous désirez envoyer gratuitement dans les dom-tom).

affecter ensuite cette zone à un transporteur ("la poste" par ex).

aller dans l'onglet "transport" puis, en bas, "Frais par transporteurs, zones et tranches", choisissez votre transporteur pour enfin lui indiquer qu'en métropole, les frais sont nuls.

 

Ca devrait marcher mieux.

bonne journée

Link to comment
Share on other sites

Bonjour,

merci de répondre à ma question mais peut etre me suis je mal exprimé, je résume :

 

je veux que pour la France, si la commande atteint 100€ les frais de port soient offerts.

Pour les autres destinations, la gratuité des frais de port ne doit pas être appliquée.

 

J'ai donc défini 3 transporteurs :

 

1/ retrait en magasin, donc frais à zero

,

2/ colissimo suivi pour la France uniquement , suivant bareme de la poste et si +100€ de commande, frais tombent à zero,

 

3/ colissimo suivi internationnal

 

mais pour ce 3eme transporteur la règle du "+de 100€ de commande=frais à zero" s'applique aussi, ce que je voudrais pouvoir supprimer.

 

je précise que la Facturation est faite ainsi :

En fonction du prix total

En fonction du poids total

 

Voilà j'espere avoir donné toutes les infos pour trouver solution a ce problème qui doit toucher plus d'une personne.

Link to comment
Share on other sites

Avez vous une région "métropole" qui ne contient que la France ?

 

Pour la france, il faut que collisimo ne soit affecté qu'à cette région.

Pour l'international, vérifiez que vous avez décoché la région "métropole" pour le 3e transporteur.

 

frais de ports offerts à 100€ en métropole (donc 2 tranches de prix pour collissimo). Collisimo uniquement pour la zone "métropole" (qui ne contient que la france)

collisimo international : une seule tranche de prix (et/ou poids), une ou plusieurs zone(s) ("international", "océanie", "amériques"...contenant les autres pays MAIS surement pas la région "Métropole").

 

Ici, en deux-sevres, ca marche, on atteint même la bretagne !

Link to comment
Share on other sites

re coucou

 

alors j'ai bien une région "France métropolitaine" qui est affectée exclusivement au Colissimo suivi France.

 

mais le problème reste le même, je viens de suivre votre procédure, pour la France aucun soucis, par contre grâce à "super utilisateur" j'ai pus faire un essai de commande avec livraison en Belgique, tant que le montant est inférieur à 100€ les frais Colissimo international sont bien pris en compte, mais dès que le total des articles dépasse les 100€, les frais de port sont ramenés à zéro.

 

quand aux valeurs de tranche de prix qu'elles valeurs faut il leur donner? actuellement elles sont de : 0 à 10 000€

Link to comment
Share on other sites

il devrait y avoir une seule tranche pour l'international (tout pays ou je livre sans la france) : 0-10000€ avec frais

france métro uniquement : 2 tranches affectées uniquement a colissimo : 0-100€ frais et 100.01-10000 sans frais.

 

chez moi, ca marche sur 1.3.6 et sur 1.4.4

Link to comment
Share on other sites

Bien le bonjour,

alors après avoir fait tout bien comme il faut comme indiqué par Bluemoon que je remercie, ben rien de nouveau, alors pris d'un courage sans commune mesure je me lance dans la maj en v1.4.4.1

je pense que là, en venant de lire les possibilités de cette dernière version ( Possibilité d'offrir les frais de livraison (gratuits, par seuil minimum de commande, par prix ou poids)) celà devrait fonctionner, je ne manquerais pas de le signaler dès que la maj sera terminée :P

 

Bon ben la maj est faite mais aucuns changements :(

 

je me demande si je ne serais pas con con sur les bords :s

Link to comment
Share on other sites

bon, je vais reprendre, j'ai du oublier quelque chose. J'ai testé sur 1.4.4.0 et ca marche :

 

-onglet "transport","tranches de prix", transporteur "colissimo" (le creer si ce n'est déjà fait) : 2 tranches : 0-100 et 100.01-10000€

-onglet "transport","zones" : métropole

-onglet "transport","pays" : france (et elle seule) affectée à la zone "metropole" (vérifier que "appliquer les frais de transports" est actif)

-onglet "transport", "transporteurs", "colissimo" affecté à la zone "metropole"

-onglet "transport", en bas de page : "frais par transporteurs, zones et tranches" : payant de 0-100 et gratuit ensuite.

 

ici ca marche.... tentons donc de déborder le contenu de votre dernière phrase !

Link to comment
Share on other sites

Bonjour,

 

je cite la derniere phrase :

 

-onglet "transport", en bas de page : "frais par transporteurs, zones et tranches" : payant de 0-100 et gratuit ensuite.

 

heu comment je fais là? en bas dans "frais par transporteurs, zones et tranches" j'ai ceci :

 

fofpresta.jpg

donc du coup je suis bloqué sur cette dernière action a remplir (payant 0-100€ et gratuit ensuite)

Link to comment
Share on other sites

et si tu choisis un forfait type 7€ quelque soit le poids, perds tu de l'argent ? pour des articles de pêche, il me semble que le poids est faible sur pas mal de produits (pas les gros plombs). ca te permettrais de gérer tes tarifs juste en fonction du prix...

Link to comment
Share on other sites

coucou, il faut que je fasse des estimations en changeant ce mode de calcul oui, il est vrai que les articles on un poids allant de 1 gramme a 3 kg le plus lourd etant 8.6 kg, en esperant qu'une option prochaine de Presta permettra de definir des tranches gratuite et payante comme je souhaitais avoir. En tout cas merci de ton aide et du temps que tu as bien voulu m'accorder Bluemoon

Link to comment
Share on other sites

pour ma part j'ai fait comme ca :

j'ai rédifini les zones comme ceux ci

France, Corse, Monaco enabled.gif edit.gif delete.gif 10 Union Européenne et Suisse enabled.gif edit.gif delete.gif 11 Outre-Mer enabled.gif edit.gif delete.gif 12 Europe de L'Est et Maghreb enabled.gif edit.gif delete.gif 13 Afrique (Hors Maghreb), Canada, USA, Orient enabled.gif edit.gif delete.gif 14 Autres Destinations

 

Ensuite pour la France j'ai choisi l’option par tranche de prix par défaut (frais de port offert des 40€)

Pour l’étranger , j'utilise les tranches de poids par défaut.

 

POUR que ca fonctionne correctement :

 

Frais de manutention:

€ HT

 

Frais de port offerts à partir de:

 

Frais de port offerts à partir de:

kg

Link to comment
Share on other sites

je comprends la demande. Et merci pour la solution proposée mais c'est trop "bricolé" (sans critiquer bien sûr).

 

je propose la gratuité en France à partir de 360€TTC de commande. donc je l'inscris dans la case prévue à cet effet. d'ailleurs le panier rappelle au client intelligemment qu'il ne lui manque plus que XXX pour avoir la gratuité des frais de port. Je m'apprête à ouvrir les livraisons pour les DOM. et là vu les montants des livraisons, il est hors de question d'offrir les frais de port à 360€.

 

effectivement en l'état la règle des frais de port offert s'applique partout (pas moyen de l'affecter seulement à la France).

J'ia essayé de faire un transporteur spécial : un prix de 0 à 360 et gratuit après !

 

OK mais ça ne présente pas bien. on n'a plus la fonction "il vous manque .." Avant losrque l'on d"passe les 360 e le panier auto corrige.

 

par ailleurs, j'ai des disparités de poids très importantes, une livraison peut aller de 100g à 29 kgs (et j'en ai même à 35 kilos)

et les marges ne permettent pas de faire une moyenne, la tranche au poids est la plus indiquée. si je mets une somme trop grosse pour les petits poids je ne suis pas compétitif, et trop faible pour les gros poids je perds de l'argent. Et les gros produits ne sont pas les plus chers ...

 

donc si il y a une autre solution plus "propre" (toujours sans côté péjoratif" je suis preneur ...

 

Bruno

Link to comment
Share on other sites

Hello

 

problème résolu proprement pour moi grâce au module free shipping zone

(en suivant bien le mode d'installation puisqu'il ya un peu de code php à modifier mais c'est très bien expliqué).

ce modul permet d'affecter différents (ou pas) niveaux de gratuité des frais de port en fonction des zones.

 

J'ai donc créé pour linstant 4 zones :

- metropole pour la France

- Europe 1 pour les 4 pays à taux réduit colissimo (Allemagne, Belgique, Pays-bas, Luxembourg)

- Europe 2 pour le cran au dessus : espagne; italie, suisse

- domtom pour ma martinique, guadeloupe, réunion

 

je l'ai fait en fonction des grilles colissimo, que j'ai pu rentrer au poids sans bricoler.

J'ai affecté pour la france seulement un franco de port à partir de 360€, et pense l'étendre à Europe 1 voire Europe 2.

 

hyper facile et comme les taxes se gèrent super bien (différences dans une même zone), c'est nickel.

 

coût du module : 50€HT mais au moins je suis tranquille.

 

seul tout petit bémol, je n'ai pas le petit message dans le panier "il vous reste xx pour obtenir la gratuité du port"

 

à +

 

Bruno

Link to comment
Share on other sites

  • 3 months later...

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

  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...
  • 3 weeks later...
  • 4 weeks later...

Je confirme que la manip de MasterS fonctionne très bien sur la 1.4.3. Si jamais ça ne fonctionne pas, vérifiez que il n'y ai pas un fichier cart.php dans le dossier "override", si c'est le cas c'est ici qu'il faut modifier.

 

Merci pour la modif très utile !

Link to comment
Share on other sites

  • 2 months later...

Bonjour à tous.

 

Merci pour cette astuce.

Cela fonctionne parfaitement.

 

J'ai tout de même une petite question.

Comment dois je adapter le code donné précédemment pour avoir les frais de port offert vers deux zones (par exemple la France et la Belgique) donc avec 2 $id_zone différents

 

Merci d'avance pour votre aide

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...

MasterS: grand merci pour l'info! j'ai enfin réussi à résoudre, en partie, ma problématique.:

Il ne me reste plus que 1 point:

Je souhaite offrir le Franco sur 3 pays (le transporteur désigné est au même tarif sur la France (zone 11), la Belgique (zone 24), et le Luxembourg (zone 25): je ne connais pas la syntaxe pour faire

$id_carrier)==11 ET pays 24 ET pays 25

 

Si vous passez par là, merci de votre aide.

Edited by nature-ile (see edit history)
Link to comment
Share on other sites

question subsidiaire:

Pour appliquer un Franco sur le dpt fr 64

faut-il découper la France en Etats ? (et y mettre toutes les régions Francaises ?:

Aquitaine, etc...

-et obliger les clients a en choisir une à l'inscription: ce que j'aurais bien voulu éviter)

ou y a-t-il mieux ?

mci d'avance ;)

Link to comment
Share on other sites

  • 1 month later...

Bonjour à tous,

 

Excellent le tuto pour la sélection d'un seul transporteur et un seul pays...

Mais j'ai le même soucis que Justincarton et Nature-ile.

 

Pour expliquer un peut la situation.

J'ai une zone spécial pour la france qui possède 3 transporteurs (la poste, colissimo et Mondial Relay qui est gratuit dès 60€ d'achats.

J'ai créé une zone spécial (Mondial Relay) pour la Belgique et Le Luxembourg ou je propose La Poste Int. , Colissimo Int et Mondial Relay.

 

Je souhaiterais que Mondial Relay soit Gratuit également dès 60€.

 

1er Problème :

Lors des livraisons vers la Belgique et le Luxembourg, il n'y as pas de transporteur or j'ai bien coché dans tous les transporteurs la Zone "Mondial Relay"...

 

2ème Problème :

J'ai modifié ma ligne de code à partir du Tuto de MasterS afin d'avoir les deux zones (France & Mondial Relay) :

1ère tentative :

Tuto de MasterS :

 

AND intval($id_zone) == 9 AND intval($id_carrier) == 3)

Mon Tuto

 

AND (intval($id_zone) == 9 OR intval($id_zone) == 13) AND intval($id_carrier) == 3)

 

Hélas sans succès

 

2éme tentative

 

AND (intval($id_zone) == 9 OR 13) AND intval($id_carrier) == 3)

 

​Hélas toujours sans succès... Je commence à désespérer !!! lol

si quelqu'un a une idée ? SVP

Link to comment
Share on other sites

Je découvre ce topic mais absolument pas la problématique puisque c'est une demande récurrente chez mes clients.

On trouve ici des bouts de codes, des trucs pas possibles alors qu'il existe une solution très simple et ne nécessite pas de modification de votre précieux outil de travail ...

Donc je ne remets pas en question ce que de très bonnes âmes ont pu proposer ici, mais je me contente , l'occasion faisant le larron , de vous en proposer une autre :

 

1 - Dans l'onglet transporteurs -> zones : créez une nouvelle zône appelée France.

 

2 - Dans le même onglet , mais cette fois dans pays, sélectionnez la Zône France pour le pays France.

 

3 - Créez un nouveau transporteur nommé "Transport offert par exemple" .

 

Prenez soin d'ajuster le choix du comportement en cas d'absence de tranche et choisissez : Désactiver le transporteur.

Indiquez que le transporteur utilise des tranches de prix...

 

4 - Créez une tranche pour ce nouveau transporteur allant de xx€ à 100000€ (si vous pensez faire de plus gros paniers ajoutez autant de 0 que nécessaire ;) )

 

NB : xx est le montant à partir duquel vous souhaitez offrir les frais de port.

 

5 - On ajuste les tarifs. Cette fois on clique sur le lien de l'onglet transporteurs pour aller finaliser tout ceci :

 

* Dans le déroulant plus bas sur la page, on choisit le transporteur nouvellement créé.

on a alors la tranche xx - 100000 qui s'affiche , avec un 0 dedans , on va valider ça en cliquant sur enregistrer.

 

* Comme on a exclu la France des autres zônes , on doit reconfigurer les tarifs ce cette nouvelle zône pour tous les autres transporteurs. Renouvellez l'étape ci dessus pour chacun d'entre eux : Recopiez simplement cette fois le tarif de la zône à laquelle appartenait chez vous la France avant qu'on l'ai extraite.

Sauvegardez à chaque transporteur.

 

6 - Un détail mais qui peut avoir son importance : sur cette page de configuration des tarifs transporteurs, sélectionnez le transporteur gratuit comme transporteur par défaut puis enregistrez.

 

A ce stade on a terminé et voici ce qui va se passer :

- Grâce à la règle de comportement de l'étape 3 , tant que le client n'est pas authentifié , ou n'est pas en France, et tant qu'il na pas dépassé un panier de xx€ , le transporteur Transport Offert est inactif: en front office il n'existe pas.

- Si le panier atteint le bon montant xx , et si le pays du client est la France, alors Prestashop trouve la tranche que l'on a créé.

Puisque nous avons défini ce transporteur par défaut , et que pour cette tranche le tarif est 0, le tarif passe à 0 même dans le panier.

- Sur la page de choix des transporteurs, au bout presque donc du tunnel de commande, un nouveau choix apparait : Transport Offert.

Il appartient alors au client de choisir ce dernier.

 

Cette solution a bien des avantages :

- Vous avez probablement sur votre homepage communiqué sur ces frais de tr offerts à partir de xx €

et les frais de port dans le panier reflètent ce que vous avez indiqué.

- Si votre transport offert comporte des restrictions type delai/signature vous pouvez les indiquer dans le champ délais du transporteur

- Vous n'avez pas altéré le code source de votre solution e-commerce... ce n'est pas rien croyez moi.

- Vous pouvez arguer certes d'offrir les frais de port mais le client n'est pas contraint de choisir ce mode de transport. L'expérience montre que dans de nombreux cas le client opte finalement pour un transport plus rapide , mais payant , alors qu'il aurait probablement renoncé bien avant si il n'avait pas eu ce choix.

 

Au final, le client final de la boutique aura dans de nombreux cas rempli son panier à cause de cette gratuité annoncée.

 

Mais lors de son choix final , lorsqu'il constate qu'il a effectivement cette gratuité dispo et préselectionnée, il est étrangement fréquent qu'il opte pour une solution payante qui jugera plus rapide ou plus sûre.

Edited by Broceliande (see edit history)
  • Like 1
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...