Énoncé du problème
Actuellement, lorsque nous ajoutons des produits dans le panier et que nous passons à la section de paiement pour profiter de la réduction et de l’expédition, nous constatons que la réduction s’applique après l’expédition. Disons,
- Le montant total du panier est de 100 $, ce qui permet la livraison gratuite et une réduction de 5 % est également ajoutée
- Ensuite, après la remise, le montant total du panier est fixé à moins de 100 $, mais la livraison gratuite s’applique, ce qui ne devrait pas se produire. La livraison gratuite doit s’appliquer au montant total final du panier après la réduction.
- C’est le processus par défaut de Prestashop. Reportez-vous à la capture d’écran ci-dessous où la livraison doit être gratuite si le total de la commande est > 50 mais elle a appliqué la livraison gratuite alors que le total de la commande est < 50 après remise –
Lecture recommandée: Stratégies de livraison gratuite : pourquoi offrir ? Comment offrir ? Quand offrir ?
Pourquoi le problème actuel est-il?
Le problème actuel est là parce que le montant de l’expédition est calculé sur le montant total de la commande qui est défini dans le panier avant d’appliquer la remise. Vous pouvez vérifier les lignes de code ci-dessous où le total de la commande sans montant de remise est utilisé pour calculer l’expédition –
$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);
Exigence
Nous devons modifier le fichier mentionné ci-dessous pour corriger le problème. Nous remplacerons les lignes correspondantes du fichier de classe pour éviter tout changement dans les fichiers Core.
Vous trouverez ci-dessous la liste des fichiers de classe qui seront remplacés-
1. Répertoire racine\classes\Cart.PHP
Procédure pour résoudre le problème-
Suivez les étapes ci-dessous –
1. Fonction de réécriture�getPackageShippingCost
2. Après la ligne donnée ci-dessous –
// Total de la commande dans la devise par défaut sans frais $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list);
3. Ajoutez la déclaration suivante –
$listeDiscounts = $this->getCartRules(); $total_discounts = 0 ; if (is_array($listeDiscounts)) { if (isset($listeDiscounts[0]['value_real'])) $total_discounts = $listeDiscounts[0]['value_real'] ; } $price_to_apply_shipment = floatval($order_total) - floatval($total_discounts); Lecture recommandée : Meilleure extension de gestionnaire de livraison gratuite pour OpenCart Store
4. Remplacez les lignes mentionnées ci-dessous –
Remplacer cette ligne
$check_delivery_price_by_price = Transporteur ::checkDeliveryPriceByPrice($row['id_carrier'], $total_order, (int)$id_zone, (int)$this->id_currency);
Avec
$check_delivery_price_by_price = Transporteur ::checkDeliveryPriceByPrice($row['id_carrier'], $price_to_apply_shipment, (int)$id_zone, (int)$this->id_currency);
————ET—————–
Remplacer cette ligne
$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);
Avec
$shipping_cost += $carrier->getDeliveryPriceByPrice($price_to_apply_shipment, $id_zone, (int)$this->id_currency);
5. Videz le cache et exécutez.
Reportez-vous à la capture d’écran ci-dessous après avoir appliqué les modifications au code –
Après avoir suivi la procédure ci-dessus, vous pourrez calculer l’expédition sur le montant total final du panier.
Conclusion
En ce qui concerne les achats en ligne, l’ensemble de la structure de prix joue un rôle crucial pour les clients. L’un des facteurs qui pourraient faire ou défaire vos conversions est la disponibilité de la livraison gratuite. Une méthode pour déterminer les options et les coûts d’expédition sur un site Web de commerce électronique consiste à Livraison gratuite Manager Addon par Knowband. L’une des conditions les plus importantes pour augmenter les ventes moyennes est d’assurer la transparence de la transaction.
Les boutiques qui ont utilisé ce module de livraison gratuite ont augmenté le trafic sur le site, les revenus et les taux de conversion. Avec l’aide de ce plugin d’expédition gratuite, les administrateurs de magasin peuvent définir les directives et les conditions des frais d’expédition. Mieux encore, cette fonctionnalité peut être ajoutée ou supprimée du site Web par l’administrateur du magasin.
Le seuil au-delà duquel la livraison gratuite est offerte peut être fixé par les détaillants en ligne. En conséquence, il encourage même les clients à effectuer des achats plus importants afin de bénéficier de la livraison gratuite. Pour en savoir plus sur les fonctionnalités du module de livraison gratuite, n’hésitez pas à nous contacter à support@knowband.com