1

Currently, I'm using a flat rate table to make any shipping for a cart with more than, for example, $100, become $0 instead of $3.

$shippingAddress = $quote->getShippingAddress();
 $shippingAddress->setCollectShippingRates(true)
                 ->collectShippingRates()
                 ->setShippingMethod('tablerate_bestway');

However, the client wants to do special promotions where free shipping becomes available, either through coupons or for a specific amount of time.

The problem is, the Shopping Cart Price Rules are not applying to the cart, and the shipping remains the same even when the conditions of the rule are met. For example, if I set free shipping for today, I still get $3 as shipping in the cart.

totals: { subtotal: 29, shipping: 3, tax: 0, discount: 0 }

Do I have to check the shopping cart rules myself and force free shipping as a method? Or is something else wrong?

Edit: Here's a screenshot of the rule as requested:

enter image description here

  • This seems to be very simple scenario. Are you sure you unchecked Stop Further Rules Processing for your %-discount, so your shipping discount could be applied afterwards? – Nicolas Sep 4 '15 at 6:22
  • Please update your question with all your rule settings. Some screenshots would do fine – Sander Mangel Sep 4 '15 at 6:39
  • 1
    @SanderMangel Done. @ Ni Ge, I tried that, but it didn't have any effect. – Pat Sep 4 '15 at 6:51
1

I think the issue here is the rule isn't applied on any items. You left the conditions empty.

If you wan´t to apply the rule without conditions just set a really generic one like price over 0 or something like that.

Now the rule should be applied to the quote

  • I tried applying a generic condition to both the items and the main shopping cart rules. But neither had any effect. :( – Pat Sep 4 '15 at 8:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.