Open angelflo opened 4 years ago
Bonjour,
L'extension ne fournit que des valeurs déjà calculées par Magento.
A l'étape du choix de la méthode de livraison, Magento n'a pas encore renseigné $quote->grand_total
.
Magento ne fournit pas de moyen universel pour récupérer le total TTC après remise mais avant frais de livraison (lorsque les prix des produits sont renseignés HT).
Cordialement, A.L.
Bonjour, Tout d'abord un grand merci pour votre réponse. J'avoue être un peu surpris ... cela me semble être un cas de figure des plus courant ... on pourrait meme parler de "b.a.ba". : Frais de port offert pour toute commande de plus de 100 € => on parle toujours au client en TTC et on retire toujours le motant des réductions ...
Tous les sites ecommerce sur lesquels je commande offre la livraison au delà d'un certain montant TTC dans le panier en prenant soin de calculer ce montant après les réductions éventuelles. Quand on vend en B2C, le client se base sur son montant d'achat TTC ce qui est tout à fait normal, et du coté e-commercant nous avons besoin de vérifier un montant avec les réductions appliquées pour déterminer la valeur du panier d'achat. C'est quand même "étonnant" (pour ne pas dire hallucinant) qu'une règle aussi triviale que cela ne puisse pas etre mise en place dans magento. Avez-vous prévu d'implémenter cela dans une MAJ de votre extension ?
Bonjour,
En effet, c'est surprenant mais c'était déjà le cas avec Magento 1.
Vous pouvez peut-être essayer ceci :
$totals = $quote->collectTotals()->getTotals();
$subtotalInclTaxAndDiscount = $totals['grand_total']->getValue() - $totals['shipping']->getValue();
Mais je ne peux pas vous garantir que cela fonctionnera dans tous les cas de figure et que cela n'aura pas d'impact sur le processus de commande (collectTotals est censé être appelé qu'une seule fois pour figer les valeurs). Comme les montants des méthodes de livraison sont récupérées via un appel ajax, je suppose que cela ne devrait pas causer d'effet de bord.
Il faudra néanmoins faire des tests en profondeur pour vérifier que les valeurs stockées par Magento sont correctes après sélection de la méthode de livraison (par exemple, la TVA sur les frais de livraison).
Cordialement, A.L.
en essayant une solution assez sale : ($request->package_value_with_discount * 1.2 >= 100) cad en ajouter la TVA en dur dans le code de la méthode cela semble faire le job, avez-vous une idée si cela peut générer des effets de bord auquel je n'ai pas pensé ?
Si vous ne manipulez pas la variable $quote, vous n'aurez pas d'effet de bord. A.L.
J'ai utilisé $quote->__subtotal_with_discount_incl_tax
au lieu de $request->package_value_with_discount
.
Aucun soucis pour moi.
(Magento 2.3.5 et magento2-module-advanced-shipping 2.8.5)
Bonjour,
J'utilise actuellement la fonction : $request->package_value_with_discount pour tester si le prix total taxe comprise (TTC) avec remise (discount) est supérieur à 100 € pour offrir les frais de port, mais je viens de me rendre compte qu'à priori cette fonction prend le prix HT pour son calcul. J'ai donc regardé les autres possibilité sur votre doc mais je vois que l'option dont j'ai besoin : $quote->grand_total: total (including tax) with discount (known issues #3, you should avoid using this value) semble avoir des problèmes et que vous déconseillez son utilisation ?
1/ Avez-vous résolu ce problème de votre coté ? 2/ Sinon, quelle solution me conseillez vous pour vérifier le prix TTC avec les éventuels code promo déduits ?
Merci d'avance. En espérant une réponse claire (avec un exemple du code) et rapide car je dois pas passer en production demain et que je viens de découvrir ce pb au dernier moment.