Appliquer une remise sur les frais d'expédition


16

Je souhaite appliquer une remise sur le tarif d'expédition. Par exemple, si le sous-total du panier est supérieur à 125 $, il y aura une remise de 17 $ sur les frais d'expédition. J'ai créé la règle du panier d'expédition dans admin, mais la règle est appliquée sur le sous-total du panier, pas sur les frais d'expédition. J'ai sélectionné les options «appliquer au montant de l'expédition» comme oui et «arrêter le traitement des règles supplémentaires» comme non.

Quelqu'un a-t-il une idée de la façon dont je peux le faire? Toute aide sera vraiment appréciée.

Merci d'avance.


Je pense que les frais de port ne sont pas expliqués correctement. J'ai également pensé que la sélection de cette option devrait appliquer la remise sur les frais de port, mais apparemment, cela signifie qu'elle appliquera la remise sur "également" les frais de port.

Réponses:


7

Nous l'avons fait récemment avec une sorte d'utilisation hackeuse du panneau d'administration des règles de vente.

Dans votre règle, sous «actions», dans le panneau «Appliquer la règle uniquement aux articles du panier correspondant aux conditions suivantes», créez une condition qui ne peut jamais se produire. Nous avons utilisé sku == 'invalide'. Tant que vous avez sélectionné «Appliquer au montant de la livraison», la remise ne prendra en compte que les frais de livraison. Cependant, il ne correspondra à aucun élément du panier.


Notez cependant une chose: cela ne fonctionne que si l'utilisateur estime les frais de port sur la page du panier (en gros, vous avez besoin d'une méthode d'expédition sur le devis lorsque vous appliquez le code du coupon; nous avons configuré notre panier pour appliquer automatiquement la méthode d'expédition la moins chère automatiquement, donc ça a marché pour nous).
Laura


2

Dans mon esprit, c'est un bug dans le calcul de base qui ignore le Apply to Shipping Pricedrapeau lors du traitement de la remise et l'applique au produit, ce qui remplace ce qu'il a fait processShippingAmount.

http://www.magentocommerce.com/bug-tracking/issue/index/id/250

Si vous modifiez app/code/core/Mage/SalesRule/Model/Validator.phpla processfonction près du haut de la foreachboucle, ajoutez

if ($rule->getApplyToShipping()) {
    continue;
}

Cela empêchera la processméthode d'essayer d'appliquer les règles du panier avec la valeur Apply to Shipping Priceset to Yes.


0

Nous utilisons l' extension des règles d'expédition pour faire ce que vous essayez d'accomplir. Nous avons utilisé cette extension pour créer des règles pour appliquer une remise sur le total de l'expédition en fonction du sous-total du panier. C'est peut-être juste ce dont vous avez besoin.


-1

Vous pouvez aller dans le panneau d'administration de Magento Première étape: les promesses Deuxième étape: la règle de prix du panier, puis aller aux conditions dans la barre de gauche Appliquer des conditions à ce que vous voulez Par exemple Vous voulez un rabais sur le sous-total puis appliquer si TOUTES ces conditions sont vrai.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.