Pas de points relais avec le module Mondial Relay Prestashop

Ca fait plusieurs fois que je dois intervenir sur un module mondial relay ou tnt express pour corriger des bugs. Aujourd’hui c’est le module mondial relay qui, du jour au lendemain, n’affiche plus les points relais et autorise donc les livraisons à domicile (alors que dans les réglages seuls les points relais sont autorisés).

Pourtant aucune modification ne semble être susceptible de faire bugguer le module, mais en réalité si… nous étions passés du mode « tranche de poids » au mode « tranche de prix » pour définir le prix du transporteur et surprise…. le module n’est pas compatible avec les tranches de prix.

Voici donc la solution trouvée sur le forum de Prestashop ici:

Version du module mondial relay: 2.0.4.

Dans le fichier modules/mondialrelay/mondialrelay.php appliquez les correctifs suivants:

Ligne 603 remplacez:


if ((Configuration::get('PS_SHIPPING_METHOD') && $carrier->getMaxDeliveryPriceByWeight($id_zone) === false) || (!Configuration::get('PS_SHIPPING_METHOD') && $carrier->getMaxDeliveryPriceByPrice($id_zone) === false))

Par:


if ((($carrier->getShippingMethod() == Carrier::SHIPPING_METHOD_WEIGHT) && $carrier->getMaxDeliveryPriceByWeight($id_zone) === false) || (($carrier->getShippingMethod() == Carrier::SHIPPING_METHOD_PRICE) && $carrier->getMaxDeliveryPriceByPrice($id_zone) === false))

Ligne 612 remplacez:


if ((Configuration::get('PS_SHIPPING_METHOD') && (!Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $this->context->cart->getTotalWeight(), $id_zone))) ||

Par:


if (($carrier->getShippingMethod() == Carrier::SHIPPING_METHOD_WEIGHT && (!Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $this->context->cart->getTotalWeight(), $id_zone))) ||

Enfin ligne 613 remplacez:


(!Configuration::get('PS_SHIPPING_METHOD') &&

Par:


($carrier->getShippingMethod() == Carrier::SHIPPING_METHOD_PRICE &&

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *