Jump to content

Frais de livraison toujours gratuit malgré une config dans les transporteurs


Tom Poilane

Recommended Posts

Bonjour,
Après avoir configurer mon transporteur comme il se doit avec des règles de poids, avoir enlever la livraison gratuite, avoir configurer mes zones géographiques, avoir coché mes transporteurs dans mes fiches produits, j'ai tout de même marqué "Livraison Gratuite" lorsque j'ajoute au panier un de mes produits. Les frais de livraison s'affichent uniquement après avoir créé le compte (ou s'être connecté) ce qui refroidit mon client lors de son processus d'achat (on lui annonce gratuit lors de l'ajout puis payant au moment de l'achat...). J'aimerai que mes frais de livraison s'affiche directement lorsqu'on ajoute au panier un produit. J'ai beau cherché, je ne trouve pas de solution, j'ai configuré correctement les préférences de livraison et ça ne fonctionne pas. Il faut savoir que cela fonctionnait auparavant et que pour je ne sais quelle raison cela ne fonctionne plus (Je n'ai pas créé de règle de panier avec des frais de livraison gratuit entre temps).
Quelqu'un pourrait il m'aider ? (Prestashop 1.7.8.2)

Merci par avance, en vous souhaitant une bonne journée. 
Tom P.

Link to comment
Share on other sites

Bonjour, dans les préférences, j'ai testé toutes les config mais cela n'a pas fonctionné. C'est un site multiboutique avec USA & Canada, mais sur notre site Multiboutique Europe, cela fonctionne parfaitement. J'ai mis un screenshot pour voir si c'est bien cette config dont vous m'avez parlé.

 

Merci ! 
 

Capture d'écran 2023-09-18 143203.png

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour, nous avons le même problème depuis quelques jours sur notre boutique FFortis.ch. Malgré toutes les vérification des réglages, les frais de livraison restent gratuits à la commande. Alors que les transporteurs sont bien configurés et que tout fonctionnait parfaitement bien il y a encore deux jours. Pas d'interventions ou de mise à jour effectuée depuis, nous ne savons pas quoi faire, une solution a-t-elle été trouvée suite à la postée ci-dessus?

Merci d'avance pour votre retour rapide!

Capture d’écran 2023-09-30 à 11.24.33.png

Capture d’écran 2023-09-30 à 11.24.53.png

Capture d’écran 2023-09-30 à 11.25.04.png

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour, 

Personnellement, j'ai mis un "display: none" sur l'id du sous total du transport du panier. Ca me prenait trop la tête.

Dans /themes/montheme/assets/css/custom.css   j'ai fait un simple: 

#cart-subtotal-shipping .price {
      display: none;
}

Attention c'est lié à mon thème, je ne sais pas s'il correspondra au votre.

P.S. Une traduction de ce "gratuit" par "Livraison à déterminer" ? ^^

Edited by Coeur_De_Lion (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour, Je vous donne la solution pour ceux qui utilise le module UPSMODULE.

Le bug vient d'un probleme de conception du module.

1) Le module initialise un cookie avec une valeur a 0 lors de l'accès a la page commande, du fait que l'adresse de livraison ne peut être connue qu'après la connexion de l'utilisateur ce qui provoque le déclenchement du code suivant :

$cookie->__set('shippingFee', 0);

Cette ligne est exécutée lorsque le tableau $arrayShippingMerge (fusion des services d'accès aux points relais et UPS Standard) de la fonction  "createContextSmarty()" du fichier upsmodule.php est vide. Cela signifie que le module UPS n'a trouvé aucun service d'expédition valide (adresse) pour le panier et passe donc les frais de livraison a 0€. Vu que les frais de livraison sont mis a 0 PrestaShop passe le transport en "gratuit".

Pour corriger le probleme il faut :

Remplacer le code ci-dessous dans la fonction "createContextSmarty()" du fichier upsmodule

         else {

            $cookie->__set('shippingFee', 0); 
            
        //Non UPS order to shipment manager
                $cookie->__set('selectedShippingService', 'UPS_F');
                Configuration::updateValue('UPS_SELECTED_SHIPPING_SERVICE', 'UPS_F');
                Configuration::updateValue('UPS_SHIPPING_FEE', 0);  
        }

Par :

         else {

            //On commente la ligne de code ci-dessous pour que celui-ci ne soit pas executé
			//$cookie->__set('shippingFee', 0); 
            
        //Non UPS order to shipment manager
                $cookie->__set('selectedShippingService', 'UPS_F');
                Configuration::updateValue('UPS_SELECTED_SHIPPING_SERVICE', 'UPS_F');
                Configuration::updateValue('UPS_SHIPPING_FEE', 0);  
        }

 

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