pecheurdunet Posted September 7, 2011 Share Posted September 7, 2011 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 More sharing options...
pecheurdunet Posted September 8, 2011 Author Share Posted September 8, 2011 re bonjour, serais je le seul à avoir ce soucis?????? Link to comment Share on other sites More sharing options...
bluemoon Posted September 9, 2011 Share Posted September 9, 2011 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 More sharing options...
pecheurdunet Posted September 9, 2011 Author Share Posted September 9, 2011 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 More sharing options...
bluemoon Posted September 9, 2011 Share Posted September 9, 2011 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 More sharing options...
pecheurdunet Posted September 9, 2011 Author Share Posted September 9, 2011 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 More sharing options...
bluemoon Posted September 9, 2011 Share Posted September 9, 2011 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 More sharing options...
pecheurdunet Posted September 10, 2011 Author Share Posted September 10, 2011 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 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 More sharing options...
bluemoon Posted September 11, 2011 Share Posted September 11, 2011 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 More sharing options...
pecheurdunet Posted September 12, 2011 Author Share Posted September 12, 2011 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 : 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 More sharing options...
bluemoon Posted September 12, 2011 Share Posted September 12, 2011 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 More sharing options...
pecheurdunet Posted September 13, 2011 Author Share Posted September 13, 2011 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 More sharing options...
cosmetogarden Posted September 14, 2011 Share Posted September 14, 2011 pour ma part j'ai fait comme ca : j'ai rédifini les zones comme ceux ci France, Corse, Monaco 10 Union Européenne et Suisse 11 Outre-Mer 12 Europe de L'Est et Maghreb 13 Afrique (Hors Maghreb), Canada, USA, Orient 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 More sharing options...
cosmetogarden Posted September 14, 2011 Share Posted September 14, 2011 pardon ca ne s'est pas affiché : dans manutention tout est a 0.(c'est la qu'est ton erreur !) Link to comment Share on other sites More sharing options...
BrunoJWest Posted September 17, 2011 Share Posted September 17, 2011 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 More sharing options...
bluemoon Posted September 17, 2011 Share Posted September 17, 2011 n'aurais tu pas moyen de filtrer l'origine des clients par leur IP et de leur proposer les frais gratuits ou pas ? Link to comment Share on other sites More sharing options...
BrunoJWest Posted September 19, 2011 Share Posted September 19, 2011 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 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 3 Link to comment Share on other sites More sharing options...
cockpitinferno Posted February 2, 2012 Share Posted February 2, 2012 oui donc ca reprend exactement ce qui était valable avant sauf qu'il faut adapter un peu le code en fonction de sa version, mais du coup je ne comprends pas pourquoi cette "ancienne" solution est considérée comme obsolète. je la remets aussi ca peut servir: http://www.magavenue.com/blog/prestashop/prestashop-franco-de-port Link to comment Share on other sites More sharing options...
yvanoe_3 Posted February 22, 2012 Share Posted February 22, 2012 Merci pour la solution elle fonctionne bien selectionnez les id petite correction mettre dans une parenthèse AND ( $id_zone== 9 AND intval($id_carrier) == 3 ) ) Je pense que c'est plus juste car les 2 conditions doivent être réunies Yvan Link to comment Share on other sites More sharing options...
Mushr00m Posted March 16, 2012 Share Posted March 16, 2012 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 More sharing options...
justincarton Posted May 29, 2012 Share Posted May 29, 2012 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 1 Link to comment Share on other sites More sharing options...
Soufiane Posted June 11, 2012 Share Posted June 11, 2012 Bonjour à tous, SVP j'ai un probléme concernant une zone et ses etats ( USA ) car il me met toujours $shipping_cost egale à 0 je sais pas d'ou vient ce probléme, j'attend votre aide rapide svp Cordialement. Link to comment Share on other sites More sharing options...
nature-ile Posted January 23, 2013 Share Posted January 23, 2013 (edited) 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 January 23, 2013 by nature-ile (see edit history) Link to comment Share on other sites More sharing options...
nature-ile Posted January 23, 2013 Share Posted January 23, 2013 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 More sharing options...
Marmotte21 Posted March 8, 2013 Share Posted March 8, 2013 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 More sharing options...
Broceliande Posted March 9, 2013 Share Posted March 9, 2013 (edited) 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 March 9, 2013 by Broceliande (see edit history) 1 Link to comment Share on other sites More sharing options...
Patrick POLBOS Orchi Posted March 9, 2013 Share Posted March 9, 2013 merci de cette astuce, il fallait y penser mais en effet, ne pas modifier mon code est un très gros plus. 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