Jaksion Posted April 10, 2009 Share Posted April 10, 2009 Bonjour,Je rencontre un problème avec les frais de port, je vous explique:Je souhaite avoir pour la FRANCE 3 transporteurs:1) colissimo standard2) colissimo recommandé3) chronopostJusqu'ici pas de problème, je crée mes 3 transporteurs avec leur fourchette de poids & prix.Mais voila, actuellement j'offre les frais de ports a partir de 149 € d'achat.Bien sur j'offre les frais de port que pour le colissimo standard (le moins cher )Hors, lorsque mon panier arrive a + de 149 € ces 3 transporteurs suivants deviennent gratuit.Comment faire pour que le colissimo standard passe en gratuit, pendant que les autres affiche toujours leur tarifs réel ?*Dommage que la classe "offrir les frais de port à partir de ...." ne soit pas unique pour chaque transporteur*Merci pour votre aideCordialement Link to comment Share on other sites More sharing options...
astragor Posted April 10, 2009 Share Posted April 10, 2009 Il est possible de configurer le prix de ta livraison par tranche de prix et donc tu peu ainsi avoir des ports gratuit pour des prix differents en fonction du transporteur.Perso j'utilise ca chez moi pour les differents pays, mais j'ai un tarif unique de livraison !Par contre je ne suis pas sur que ce soit compatible avec les tranches de poids ? Qulequ'un a-t-il essayé ? Link to comment Share on other sites More sharing options...
Jaksion Posted April 10, 2009 Author Share Posted April 10, 2009 Il est possible de configurer le prix de ta livraison par tranche de prix et donc tu peu ainsi avoir des ports gratuit pour des prix differents en fonction du transporteur.Perso j'utilise ca chez moi pour les differents pays, mais j'ai un tarif unique de livraison !Par contre je ne suis pas sur que ce soit compatible avec les tranches de poids ? Qulequ'un a-t-il essayé ? Je trouve que en fonction du prix c'est trop aléatoire, j'ai des articles cher, mais léger, et vice et versa Link to comment Share on other sites More sharing options...
Jaksion Posted April 12, 2009 Author Share Posted April 12, 2009 Personne n'a déja codé de module pour ce problème ?? Link to comment Share on other sites More sharing options...
Maxime. Posted April 14, 2009 Share Posted April 14, 2009 Arf pas eu le tps de regarder le probleme en détail car je n'y suis pas encore, mais j'up le post car cela m'interesse aussi grandement Link to comment Share on other sites More sharing options...
Philippe Posted April 15, 2009 Share Posted April 15, 2009 Et pourquoi ne pas fixer à 0€ les tranches de prix supérieurs à 149€ pour les autres transporteurs que Colissimo ? Link to comment Share on other sites More sharing options...
Jaksion Posted April 15, 2009 Author Share Posted April 15, 2009 Oui mais ce qui veux dire que la tranche 0 - 149 € du transporteur en question se calculera sur le prix du colis, alors que le cout de l'envoi du colis ,n'est jamais aussi précis que le calcul par le poids. Link to comment Share on other sites More sharing options...
ItemStyle Posted April 16, 2009 Share Posted April 16, 2009 C'est très simple à modifier :editer classes/cart.php lignes 684 , exemple ici la gratuité s'appliquera uniquement au transporteur par défaut que vous avez coché dans votre BO : // Free fees if (isset($configuration['PS_SHIPPING_FREE_PRICE']) AND $orderTotal >= floatval($configuration['PS_SHIPPING_FREE_PRICE']) AND floatval($configuration['PS_SHIPPING_FREE_PRICE']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier ) return $shipping_cost; Link to comment Share on other sites More sharing options...
Jaksion Posted April 17, 2009 Author Share Posted April 17, 2009 C'est très simple à modifier :editer classes/cart.php lignes 684 , exemple ici la gratuité s'appliquera uniquement au transporteur par défaut que vous avez coché dans votre BO : // Free fees if (isset($configuration['PS_SHIPPING_FREE_PRICE']) AND $orderTotal >= floatval($configuration['PS_SHIPPING_FREE_PRICE']) AND floatval($configuration['PS_SHIPPING_FREE_PRICE']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier ) return $shipping_cost; Merci bcp je transmet ca a mno webmaster Link to comment Share on other sites More sharing options...
first1 Posted April 22, 2009 Share Posted April 22, 2009 regreg, thank you sooo much for posting this change you cannot imagine how you made our life easier.I have 2 questions for you if you dont mind:1) when i have multiple carriers, the cart block does not show the price of the default carrier, but it just randomly display the price of any carrier (however, i would like it to select the default automatically and calculate based on that because it is the cheapest.how can i make it do that?2)when i get to the shipment page, all my 4 carriers are listed correctly, but again the radio button is selected randomly everytime, how can i make it automatically selecting the default carrier (maybe this was related question?)3)how can i arrange or list the carriers by price (the cheapest on the top and the most expensive at the bottom)?sorry 3 questions not 2/ Link to comment Share on other sites More sharing options...
Jaksion Posted June 19, 2009 Author Share Posted June 19, 2009 // Free fees if (isset($configuration['PS_SHIPPING_FREE_PRICE']) AND $orderTotal >= floatval($configuration['PS_SHIPPING_FREE_PRICE']) AND floatval($configuration['PS_SHIPPING_FREE_PRICE']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0 and Configuration::get('PS_CARRIER_DEFAULT')==$id_carrier ) return $shipping_cost; Voici le problème maitenant, c'est qu'il n'est plus possible d'attribbuer de fourchette de poid en fonction du transporteur,quelqu'un a une idée? j'ouvre le magasin dans 4 jours et il faut une solution à ce problème.merci*update*tout fonctionne, j'avais effectué un mauvais test Link to comment Share on other sites More sharing options...
ItemStyle Posted June 19, 2009 Share Posted June 19, 2009 Bien sur que tout fonctionne, il n'y a pas de rapport avec l'attribution des poids ... Link to comment Share on other sites More sharing options...
Patric Posted June 19, 2009 Share Posted June 19, 2009 Si on a répondu à ta question, merci de prendre l'habitude de mettre [Résolu] au début du titre du topic en éditant ton premier post ! Link to comment Share on other sites More sharing options...
DrÿSs' Posted June 19, 2009 Share Posted June 19, 2009 Déplacé dans le forum Développement. Link to comment Share on other sites More sharing options...
Fabrice Posted June 19, 2009 Share Posted June 19, 2009 donc ça fonctionnerait ça ? c'est exactly ce que je cherche en attendant que Phil nous ponde un truc top de chez top... tks regreg !!je venais à peine de répondre ici quand je tombe sur cette soluce. je vais tester ça. Link to comment Share on other sites More sharing options...
Jaksion Posted June 19, 2009 Author Share Posted June 19, 2009 donc ça fonctionnerait ça ? c'est exactly ce que je cherche en attendant que Phil nous ponde un truc top de chez top... tks regreg !!je venais à peine de répondre ici quand je tombe sur cette soluce. je vais tester ça. ouep ca marche c nikel Link to comment Share on other sites More sharing options...
Fabrice Posted June 19, 2009 Share Posted June 19, 2009 ben ouaip, je viens de voir : suffit de rajouter la condition du carrier par défaut. pas con :-) :-) :-) encore faut-il savoir y faire...ça dépanne bien ! tks regreg ! Link to comment Share on other sites More sharing options...
Fabrice Posted June 19, 2009 Share Posted June 19, 2009 question subsidiaire :je souhaite ajouter la mention du poids dans le descriptif du transporteur, ainsi je pose un code ici (TotalWeight) mais ça ne fonctioonne pas.qu'est ce qui cloche ? une idée ? merci {$carrier.delay|escape:'htmlall':'UTF-8'}{$TotalWeight|escape:'htmlall':'UTF-8'} Link to comment Share on other sites More sharing options...
Sw00p Posted June 30, 2009 Share Posted June 30, 2009 Je fais remonter le sujet :L'astuce marche trés bien, par contre un petit truc Gênant.Je calcule mes frais de port par tranche de poids.J'ai la lettre suivi de 1g à 499g et le colissimo de 500g à 10000g.Quand une personne commande un article qui fait 81g par exemple, j'ai les 2 modes de livraison proposé : La lettre suivi et le colissimo.Y a t il moyen de cacher le colissimo et de garder que le mode d'envoi approprié dans cette tranche de poids ?Merci Link to comment Share on other sites More sharing options...
Alekhine Posted June 30, 2009 Share Posted June 30, 2009 Ouep c'est une bonne question ça, je viens de tester, et même en modifiant le comportement dans le cas ou la tranche de poids n'existe pas le problème persiste.En fait je pensais pouvoir commencer la tranche de poids du colissimo à 500gr mais le transporteur st quand même présent dans la liste :sIl faudrait coder un p'tit truc pour déterminer si le poids total de la commande correspond à une tranche dans les transporteurs. Seuls les transporteurs qui ont une tranche définie pour ce poids seraient affichés. Link to comment Share on other sites More sharing options...
Patric Posted June 30, 2009 Share Posted June 30, 2009 Ben il me semble que ça devait être le comportement normal. Sur quelle version testez-vous ça ? Link to comment Share on other sites More sharing options...
Alekhine Posted June 30, 2009 Share Posted June 30, 2009 Ben il me semble que ça devait être le comportement normal. Sur quelle version testez-vous ça ? Hello,Moi c'est sur 1.1.0.5En fait pour voir exactement de quoi il parlait j'ai modifié un peu mes réglages pour tester:lettre de 0 à 499colissimo 500 à 2000 (et d'autres tranches au dessus jusqu'à 30'000gr)Ensuite je suis allé dans le transporteur colissimo pour régler le "comportement des tranches", on a le choix entre "prend la tranche la plus grande" ou "désactiver le transporteur"Le résultat c'est que le transporteur colissimo apparait quand même avec le réglage "désactiver le transporteur".A mon avis ce n'est pas un 'bug' puisque je pense que ça concerne le cas où le poids du panier dépasse la tranche la plus haute des transporteur... Ce n'est pas le cas (au contraire) donc il apparait et c'est "logique" par rapport au programme.Par contre effectivement je pense qu'il faudrait pouvoir désactiver le transporteur quand le cas inverse se présente, c'est à dire que le poids total du panier est inférieur à la première tranche d'un transporteur. Link to comment Share on other sites More sharing options...
Sw00p Posted June 30, 2009 Share Posted June 30, 2009 C'est tout a fait ça Link to comment Share on other sites More sharing options...
Alekhine Posted June 30, 2009 Share Posted June 30, 2009 je suis en train de regarder la fonction concernée (enfin j'espère lol) dans order.php /* Carrier step */ function displayCarrier() et je ne comprends absolument pas où on pourrait régler ce problème Link to comment Share on other sites More sharing options...
Alekhine Posted June 30, 2009 Share Posted June 30, 2009 euhhh j'avance un peu ca se passe dans ./classes/Carrier.php static public function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($totalWeight).' < w.`delimiter2` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY w.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } je crois qu'il va me falloir un peu de temps pour comprendre la fonction (mdr)En tout cas je comprends mieux pourquoi on voit le transporteur affiché dans le cas qui nous interesse puisque cette fonction va renvoyer TRUE quelque soit le poids de départ pour ce transporteur :/C'est évident parce que si le transporteur existe il y a au moins une tranche de poids : la première...Ca explique aussi pourquoi le prix affiché pour ce transporteur est celui de la tranche la plus basse (index [0] du tableau).Ce qu'il faut faire là, c'est comparer le poids du panier avec le poids de départ de la première tranche, si inférieur : FALSE (ie le poids le plus bas de ce transporteur est supérieur au poids du panier).Je sais pas si c'est clair, mais je suis sûr que c'est là que ça se passe Link to comment Share on other sites More sharing options...
Alekhine Posted June 30, 2009 Share Posted June 30, 2009 Bon...Sw00p je te propose de tester une modif qui devrait aller dans le bon sens.But recherché :Pouvoir définir des transporteurs qui se désactivent dans la liste de choix des transporteurs (lorsque le client doit faire ce choix) quand la tranche de poids la plus basse d'un transporteur est supérieur au poids du panier (ou disons plutot que le panier pèse moins que la première tranche défini pour un ou plusieurs transporteurs)Exemple (en grammes):Transporteur "la Poste LETTRE" : de 0.001 à 0.250Transporteur "La Poste COLISSIMO" : de 0.251 à 0.500 (+ toutes les autres tranches supérieures jusqu'à 30'000 par exemple)Transporteur "Tartanpion" : de 30001 à 100000Si le poids du panier est de 180gr : SEUL le transporteur LETTRE sera proposé.Si le poids du panier est situé entre 251gr et 30kg : SEUL le transporteur COLISSIMO sera proposé.Si le poids du panier est > 30kg : SEUL le transporteur Tartanpion sera proposé...Cela implique, pour chaque transporteur, de sélectionner "Désactiver le transporteur" dans le champ "Comportement des tranches". Il n'y a que dans ce cas que la fonction modifiée est appelée.Ca implique aussi de ne pas croiser avec les poids dans différent transporteurs (sauf si tu veux qu'il apparaisse justement...), et également de prévoir tous les cas de figure de poids pour éviter les erreurs (genre un panier plus lourd que les tranches des transporteurs programmées :-/ )Modif:Sauvegarder le fichier ./classes/Carrier.phpEditer ce fichier et ajouter cette ligne dans la fonction "static public function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone)" AND '.floatval($totalWeight).' > w.`delimiter1` Fonction complète AVANT modif: static public function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($totalWeight).' < w.`delimiter2` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY w.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } Fonction complète APRES modif: static public function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($totalWeight).' < w.`delimiter2` AND '.floatval($totalWeight).' > w.`delimiter1` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY w.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } Evidemment j'ai testé, mais comme j'ai un mal de crâne de première catégorie (!!) j'arrête pour ce soir.Il faut bien vérifier les incidences possibles et innatendues dans certains cas de figures.... Link to comment Share on other sites More sharing options...
Sw00p Posted July 1, 2009 Share Posted July 1, 2009 Merci beaucoup, je test ça dans la journée et je te tiens au courant Link to comment Share on other sites More sharing options...
Sw00p Posted July 1, 2009 Share Posted July 1, 2009 Alors..Ca a l'air de fonctionner, mais par contre il y a un petit bug :Dans le panier en haut à droite j'ai ça :Expédition 0,00 €Total 13,00 € Dés que j'ajoute des produits, forcément le poids augmente et à un moment donné, je passe à la tranche supérieur, avec mon autre transporteur. Là ca fonctionne, le panier se met à jour.Mon premier transporteur est mon transporteur par défaut. Je l'utilise afin d'attribuer les frais de ports gratuit, uniquement par ce transporteur (modif d'un fichier, dans un autre post).Le problème vient peut être de là Link to comment Share on other sites More sharing options...
Alekhine Posted July 1, 2009 Share Posted July 1, 2009 Oui j'ai remarqué ça aussi en début d'après-midi, donc ça ne vient pas forcément de ton autre modif.je pense qu'il y a un cas de figure où il ne faudrait pas tenir compte du "delimiter1".Je pense à une chose: je vais dupliquer cette fonction et la renommer, comme ça on aura l'ancienne fonction avec le nom d'origine pour tous les programmes de PS qui l'appellent (ie maj du port du bloc panier), et on utilisera la nouvelle (dupliquée + modif) pour le cas bien ciblé de l'affichage des transporteurs sur la page qui nous intérresse. la modif deviendra donc exclusive pour le cas qui nous interresse.Mais de toute façon le prix du port indiqué dans le bloc panier est toujours plus ou moins "faux" puisque si l'utilisateur a d'autre choix que le transporteur par défaut lors de la commande ce prix sera ajusté en conséquence...(mais c'est vrai que le coup du 0.00 ça lui laisse trop de faux espoirs lol)Enfin je dis ça de mémoire, je regarderais ce soir si c'est une vrai solution. Link to comment Share on other sites More sharing options...
Sw00p Posted July 1, 2009 Share Posted July 1, 2009 Tres bien, merci beaucoup en tout cas Link to comment Share on other sites More sharing options...
Alekhine Posted July 1, 2009 Share Posted July 1, 2009 Bon j'ai regardé ça.Pour des questions de sécurité, au cas ou d'autres parties de PS feraient appel à cette fonction, et aussi parce que d'autres modules existants ou futurs pourrait faire appel à cette fonction... je l'ai dupliqué pour qu'elle reste à son état initial quand elle est appelé avec son nom initial. La fonction dupliquée a le même nom + "AD" à la fin (pour AllDelimiter).Dans ./classes/Carrier.php static public function checkDeliveryPriceByWeight($id_carrier, $totalWeight, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($totalWeight).' < w.`delimiter2` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY w.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } static public function checkDeliveryPriceByWeightAD($id_carrier, $totalWeight, $id_zone) { $result = Db::getInstance()->getRow(' SELECT d.`price` FROM `'._DB_PREFIX_.'delivery` d LEFT JOIN `'._DB_PREFIX_.'range_weight` w ON d.`id_range_weight` = w.`id_range_weight` WHERE d.`id_zone` = '.intval($id_zone).' AND '.floatval($totalWeight).' < w.`delimiter2` AND '.floatval($totalWeight).' > w.`delimiter1` AND d.`id_carrier` = '.intval($id_carrier).' ORDER BY w.`delimiter1` ASC'); if (!isset($result['price'])) return false; return true; } Dans ./order.php if ((Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByWeightAD($row['id_carrier'], $cart->getTotalWeight(), $id_zone))) OR (!Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $cart->getOrderTotal(true, 4), $id_zone)))) Ca ne règle pas le problème du block panier avec éventuellement un prix de port à zéro (ou autre), pour une raison simple : ce prix affiché dynamiquement tient compte du transporteur par défaut, OU, si j'ai bien compris, du transporteur choisi par le client lors de sa dernière visite (cookies).Le problème c'est qu'avec notre nouveau système on est amené à désactiver le transporteur par défaut... (donc on obtient 0.00 euro) ce qui explique d'ailleurs que quand on arrive sur le choix du transporteur on ne voit aucun bouton-radio de coché.Donc voilà :/ en plus de cette modif il faudrait changer dynamiquement le transporteur par défaut s'il est désactivé du fait de la modif (ie aucune tranche de poid correspondante à ce transporteur pour le poids actuel du panier).euhhhhh c'est pas gagné avec le peu de connaissance que j'ai de PS ^^[EDIT]euhh non, le problème du tarif du port dans le panier n'a rien à voir avec "notre" modif puisque maintenant la fonction originale est remise en place. Donc ce phénomène a toujours existé! (?). Je le vois depuis hier parce que maintenant mon transporteur par défaut ne démarre pas de tranche à 0.001gr ..... Link to comment Share on other sites More sharing options...
Alekhine Posted July 1, 2009 Share Posted July 1, 2009 question subsidiaire :je souhaite ajouter la mention du poids dans le descriptif du transporteur, ainsi je pose un code ici (TotalWeight) mais ça ne fonctioonne pas.qu'est ce qui cloche ? une idée ? merci{$carrier.delay|escape:'htmlall':'UTF-8'}{$TotalWeight|escape:'htmlall':'UTF-8'} J'ai testé avec ça: {$cart->getTotalWeight()} Ca fonctionne. reste plus qu'à chopper "kg" ou "gr" (ou de le forcer puisque c'est réglé une bonne fois pour toute dans la boutique à priori).[EDIT]Dans mon thème ça donne ça: {l s='Choose your delivery method'} - {l s='Poids du panier:'} {$cart->getTotalWeight()} Kg Link to comment Share on other sites More sharing options...
Alekhine Posted July 1, 2009 Share Posted July 1, 2009 [EDIT]euhh non, le problème du tarif du port dans le panier n'a rien à voir avec "notre" modif puisque maintenant la fonction originale est remise en place. Donc ce phénomène a toujours existé! (?). Je le vois depuis hier parce que maintenant mon transporteur par défaut ne démarre pas de tranche à 0.001gr ..... Je confirme que ce problème a toujours existé.Ce qu'il faudrait faire pour le calcul provisoir des frais de port dans le bloc-panier, et ce à chaque fois qu'un produit est ajouté, c'est :Boucler tous les transporteurs avec la nouvelle fonction modifiée "checkDeliveryPriceByWeightAD" et afficher le prix le plus bas s'il y a plusieurs transporteurs renvoyant un tarif pour le poids actuel.Par exemple concernant ma boutique ça afficherait le poids "LETTRE" au premier produit ajouté (si son poids correspond à ce type detransporteur évidemment), ensuite "COLISSIMO", etc..Parce que dans l'état actuel des choses, si tu avais quitté la boutique la fois précédente en ayant choisi "colissimo" le bloc panier va calculer les frais de port sur CE transporteur, et pas un autre :/C'est particulièrement chiant si le client vient d'ajouter un produit de quelques grammes qui passerait par lettre...C'est un coup à le faire fuir, pas de doute.Je vais essayer de coder ça mais c'est pas garanti lol ^^ Link to comment Share on other sites More sharing options...
Katzele Posted July 19, 2009 Share Posted July 19, 2009 Merci pour ce post intéressant, j'ai résolu deux de mes problèmes grâce à vous ! Link to comment Share on other sites More sharing options...
Alekhine Posted July 19, 2009 Share Posted July 19, 2009 Attention a "ma" modif sur le delimiter1il faut écrire AND '.floatval($totalWeight).' >= w.`delimiter1` (supérieur OU EGAL) et non pas "Supérieur" seulement...Parce que quand on fait une tranche de 0.500 à 1.000 par exemple, PS agit de 0.500 à 0.99999 (tranche supérieure NON incluse, ce "détail" est maintenant précisé dans le BO de la version 1.2, mais pas dans la 1.1)Forcément un panier de 1.0kg pile désactive le transporteur. Ceux qui ont fait cette modif doivent éditer ./classes/Carrier.php et modifier le ">" en ">=" concernant le délimiter 1 de la fonction modifiée "checkDeliveryPriceByWeight" Link to comment Share on other sites More sharing options...
jhugues Posted August 13, 2009 Share Posted August 13, 2009 Personnellement j'utlise expeditor inet qui impose de travailler avec le même carrier pour toutes les expeditions cad la poste.je ne peut donc pas utliser ni l'astuce d'avoir un transporteur par zone avec gratuité au delà d'un montant (ou pas gratuit)ni vos modification de code utilisant le transporteur par default.Par contre ce qui fonctionnerait serait de n'appliquer le critère de gratuité de port que sur le pays par défault.Quelqu'un pourrait-il essayer de me montrer le code php. (voir post de regreg et alekhine et al plus haut pour inspiration)merci d'avancejb Link to comment Share on other sites More sharing options...
Katzele Posted September 24, 2010 Share Posted September 24, 2010 Bonjour,Je remonte un vieux topic mais j'utilisais cette astuce du transporteur par défaut et ça ne marche visiblement plus pour la version 1.3.1, est-ce que quelqu'un saurait comment faire avec la dernière version de Presta ?Merci 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