Jump to content

[Résolu] Frais de port offert (seulement pour la France)


bendosul

Recommended Posts

Hello.
Voici mon problème.
J'offre le port au delà de 90 euros.
Y a t-il un moyen ou un module permettant de restreindre cette promotion au pays hors france ??
Lors d'une commande de 120 euro vers le Japon je me suis retrouvé avec 77 euro de port gracieusement offert par mes soins.

Link to comment
Share on other sites

Bonjour,
Voici peut être une solution :
Pour la france un tarif fixe pour la tranche de 0€ à 90€ (style frais de port unique à 10€) et ensuite une tranche de 41€ à 100000€ pour un montant de frais de port à 0€
Et pour l'etranger tarification normale avec tranches et des tarifs de ton choix.

Cordialement.

Domido

Link to comment
Share on other sites

Bonjour,
Dans ma boutique Prestashop (MarinaMode) j'offre les frais de port à partir de 100 euros d'achat. Cette offre n'est valable que pour les expéditions en France métropolitaine. Cette configuration a été créée par le prestataire qui a réalisé mon site (Innoa). Je vous invite à le contacter directement.
Cordialement.

Link to comment
Share on other sites

Bonjour,

vraiment pas la peine de faire appel à un prestataire pour cela !!

La solution de Domido est la bonne:
tranches de prix avec frais de port à 0€ à partir de 90€ d'achats pour la France et frais de port normaux pour les autres pays sur ces mêmes tranches de prix.

Link to comment
Share on other sites

C'est exact Marina.

Je disais cela dans l'éventualité ou la gestion des frais de port serait effectuée par tranches de prix et non par tranches de poids.
Toutefois, dans l'éventualité ou les frais de port sont gérés par tranches de poids, la solution se trouve ici:

http://www.prestashop.com/forums/viewthread/35640/discussion_generale/pas_de_frais_de_port_offert_pour_les_envois_a_letranger_dot__comment_faire_

;)

Link to comment
Share on other sites

Merci Divine, il semblerait que la solution est la suivante

Bonjour,

J'ai eu une demande similaire pour un client, il 'ma demandé de ne pas avoir de frais de port offert pour les pays autre que la France.

voici ce que j'ai modifié la class Cart.php (faire une sauvegarde du fichier avant)
ligne 685
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;



J'ai ajouté AND $id_zone==6 qui correspond à la zone de la France. Donc la il appliquera les frais de port offert que pour la zone 6 qui correspond dans son paramétrage à la France.

Cdt



A confirmer lors de futures commandes depuis l'etranger.
Salut
Link to comment
Share on other sites

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

Bonjour à tous,
je suis en train de galerer avec la configuration des transorteurs et j'aimerai savoir s'il est possible de faire:

-Belgique: de 0 à 250=> 12 euros *** De 250 à ... =>0 euro
-France: de 0 à 500==>15 euros *** De 500 à ... => 0 euro
-Luxembourg: de 0 à 1000==>20 euros *** De 1000 à ... =>0 euro

J'espere qu'il y a une solution,
un grand merci d'avance,
Alex...

Link to comment
Share on other sites

Mon premier probleme etant regle, j'en ai un autre (pour ne pas changer...)
Lorsque je specifie que je suis en belgique alors la TVA est correcte, si je dis que je suis en france le champs HTVA et TVAC ont la meme valeur sans TVA.
Je pensais qu'en allant dans transporteur et mettre activer les taxes dans les zones==> 21 % tout fonctionnerai, je me suis bien trompé...

Link to comment
Share on other sites

  • 3 weeks later...

Bonsoir Alexone,

Ton problème est apparu lorsque tu as créé la zone France Metropolitaine, je l'ai eu egalement.

Etrant actuellement en train de parametrer tout ça egalement, bien aidé par ces topics, pour resoudre ton probleme de TVA non portée, il faut que tu ailles dans admin>paiement>taxes et que tu fasse "modifier" la taxe de 19,6 poure cocher la zone France Metropolitaine que tu as créée (et garder l'Europe); Là déja ça resoudra ton pb des prix des produits qui reviendront bien en TTC; ensuite mais c'est autre chose il faut faiire pareil dans admin>transport>transporteurs et que tu coches la zone france Metropolitaine que tu as du créée pour que s'y applique le taux de TVA affiché juste avant dans le menu

voila,
Nate River

Link to comment
Share on other sites

  • 4 weeks later...

Merci pour ce poste, jevais tenté le codage donné des demain

par contre une question bête ;o)
quand on met des frais de port gratuit.. on ajoute au panier un articles, il te met en bas une phrase il vous reste... x euros pour avoir les frais de port offert.. es que cette phrase disparait pour les autrs pays quand on modifie le code dans cart.php ?

Link to comment
Share on other sites

Non je crois que cette phrase ne disparait pas car Prestashop prend le pays par défaut me semble-t-il.
Il faudrait effectivement trouver un moyen pour récupérer la provenance des visiteurs et appliquer les bonnes options en conséquence.
A vérifier, mais là il est trop tard pour que je me penche dessus lol :P

Link to comment
Share on other sites

Oui alors donc cela va me posé pb si les autres pays peuent voir la phrase...
Pour mon site de normal, je pense que cela et fessable car la phrase qui indique justement le x montant restant on peux rajouter si on trouve cette phrase uniquement depuis la france, puis l'indiquer dans les conditions de vente.

Par contre serait tu me dire qu'elle fichier édite cette phrase ?
Pour mon site de grossiste tampis pas de frais de port... les autres pays vont me casser les pieds sinon lol
merci divine

Link to comment
Share on other sites

  • 4 weeks later...

Hello à tous
Je remonte ce topic car j'ai bien modifié la class cart.php avec le code fournie, ce qui devrait permettre d'avoir les frais de port gratuit uniquement sur "la france" id zone 6, mais ensuite quand on accéde au site web la page reste blanche, plus rien
Une idée ?

merci
version presta 1.2.5

Link to comment
Share on other sites

  • 4 weeks later...

Pour la question "Comment faire disparaître la phrase" Pour obtenir la gratuité des frais de port, vous devez encore commander pour:, j'ai une solution un peu brutale mais qui fonctionne...

Dans le fichier shopping-cart.tpl, après

{if $free_ship > 0}

vous pouvez ajouter la condition

 {if $delivery->country|escape:'htmlall':'UTF-8' == "France"}

et refermer le if avec le if précédent :)

Link to comment
Share on other sites

  • 8 months later...
Un déterage de topic,
pour trouver une bonne "Âme" qui adapte cette solution à Presta 1.4.1
On en a tous besoin avant d'être ruiné !!! :)

Je parle bien sur des frais de port gratuit QUE pour la France


Gratuit en fonction du prix ou du poids ?
Link to comment
Share on other sites

En fonction du poids...avec le prix c'est facile à faire !!


Justement d'où ma question. Je viens de tester j'ai modifié le fichier cart.php, ca marche aussi bien pour le prix que pour le poids, ensuite c'est juste du parametrage dans le BO
Link to comment
Share on other sites

Bonjour Sebtec, Lest et les autres,
apparemment pour vous cela ne pose pas de problèmes pour vous, pour moi cela est une autre histoire!
Je suis sur prestashop 1.4.1 et les modifs ne sont pas prises en compte. J'ai modifié le fichier cart.php comme indiquer (en rajoutant "AND $id_zone == 3") mais cela ne fonctionne pas. Pourriez vous me donner quelques explications sur votre façon de procéder?
Merci d'avance

Link to comment
Share on other sites

Bonjour
Si ta zone est la 3 tu dois donc modifier ton fichier card.php de

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;



à

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 ($id_zone==3))
           return $shipping_cost;

Link to comment
Share on other sites

  • 2 weeks later...

Je ne m'estime pas neuneu..( quoi que.. je commence à douter.. lol ) j'ai bien suivi les instructions de SebTec.. j'ai contrôlé 10 fois ma ligne.. rien ne change.. cela pourrait avoir un rapport avec ma version 1.4.0.17 de prestashop ?
Les frais de port reste toujours gratuit que je sois en France.. en chine ou en Suisse..

Link to comment
Share on other sites

  • 3 weeks later...

Bonsoir , j'ai effectuée la mise a jour 1.4.2 , et j'ai perdu tous mes anciens parametrage.

J'offre les commandes a partir d'un certains montant : 65 pour la france ( ma zone 8), 90 pour les DOM ( ma zone 9), et 110 Pour l'europe (ma zone 1), cependant je ne vois pas quels sont les lignes a modifié dans cart.php et par quoi les remplacer, Pourriez vous m'aider svp , car pour l'instant ca craint toutes mes commandes sont offertes partout des 65 euros!
merci d'avance

Link to comment
Share on other sites

benoit le hic cest que ca deconne grave et je suis pas sure qu'un module soit la solution
en attendant de resoudre le pb frais de port et gratuité , j'ai decidé d'augmenter le montant total de la commande a 120 euros le temps de resoude le soucis, eh bien impossible de le prendre en compte ca le valide et me le remet a 75 e sur la page du back office! de la folie...!

voici mon code quelqu'un pourrais me dire quoi changer? jai essayer la methode indiquée plus haut mais rien n'y fait !

$configuration = Configuration::getMultiple(array('PS_SHIPPING_FREE_PRICE', 'PS_SHIPPING_HANDLING', 'PS_SHIPPING_METHOD', 'PS_SHIPPING_FREE_WEIGHT'));
       // 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; 

           // Get shipping cost using correct method
           if ($carrier->range_behavior)
           {
               // Get id zone

Link to comment
Share on other sites

  • 9 months later...

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...