Jump to content

[résolu] Transporteurs : ceux-ci apparaissent même si le prix est inférieur à leur prix mini :(


Recommended Posts

Bonjour

J'ai un problème pour paramétrer les transporteurs de ma boutique. Étant donné que je vais vendre des bijoux, le poids est négligeable, cependant les prix peuvent être très variables, c'est pourquoi j'ai configuré les transporteurs en fonction du prix des articles.

o Pour une commande chère, pas de problème seuls les transporteurs prenant en charge les commandes dans ces prix sont proposés au client.

o Pour une commande modeste, tous les transporteurs sont affichés, même si le prix de la commande est en dessous de leur tranche de prix.

Qu'ai-je bien pu oublier de configurer ?

Share this post


Link to post
Share on other sites

il faut modifier la valeur du champs "Comportement des tranches :"
Cela ce gère dans Panneau d'administration >> Transport >> Transporteurs >>> ton transporteur en question

Passer cette valeur à "désactiver le transporteur"

j'espère que ça va résoudre ton problème ;)

Share this post


Link to post
Share on other sites

Malheureusement j'ai déjà tous mes transporteurs dont le champ *Comportement des tranches* est marqué comme *désactiver le transporteur*. Et le problème persiste. Serai-ce un bug ?

Share this post


Link to post
Share on other sites

Difficile de répondre alors qu'on ne connait pas tes réglages.
Peux-tu nous en dire plus sur tes tranches de prix et les transporteurs que tu leur as affecté ? Ca aiderait à y voir plus clair.

Share this post


Link to post
Share on other sites

J'ai paramétré les 3 transporteurs suivants (+ le retrait en magasin):

o La perle (retrait en magasin) de 1 € à 15 000 €
o Colissimo de 1 € à 800 €
o Chronopost de 800 € à 1 500 €
o UPS de 1 500 € à 15 000 €

Si je choisis un bijoux à 50 €, les 3 transporteurs sont affichés, or uniquement Colissimo devrait être proposé
(Si je choisis un bijoux à 950 €, seul Chronopost et UPS sont affichés)

Le site n'est pas encore ouvert en production, mais voici l'adresse du serveur d'intégration :
http://laperle.numeriforge.com

Share this post


Link to post
Share on other sites

Apparemment c'est le comportement par défaut de Prestashop qui désactive bien les transporteurs quand la tranche est supérieure mais pas quand elle est inférieure.

Pour désactiver le transporteur quand la tranche est inférieure tu dois modifier le fichier Classes>>Carrier.php comme ceci :

    static public function checkDeliveryPriceByPrice($id_carrier, $orderTotal, $id_zone)
   {
       $result = Db::getInstance()->getRow('
       SELECT d.`price`
       FROM `'._DB_PREFIX_.'delivery` d
       LEFT JOIN `'._DB_PREFIX_.'range_price` r ON d.`id_range_price` = r.`id_range_price`
       WHERE d.`id_zone` = '.intval($id_zone).'
       AND '.floatval($orderTotal).' <= r.`delimiter2`
       AND '.floatval($orderTotal).' >= r.`delimiter1` // <---Ligne à ajouter
       AND d.`id_carrier` = '.intval($id_carrier).'
       ORDER BY r.`delimiter1` ASC');
       if (!isset($result['price']))
           return false;
       return true;
   } 



Et là normalement cela va marcher ;)

Share this post


Link to post
Share on other sites

Oui effectivement c'est bien ça.
J'ai essayé de contacter Prestashop par mail pour leur signaler le bug, en cas de non-réponse de leur part, j'ouvrirai un billet sur le bugtrack.

Merci Divine

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More