0

i'm looking for a specific way to solve a cart price rule condition. The resultion action itself is not relevant and already solved in my case.

I have different product types, specified by an attribute. lets call them Type X and Z

Goal: If the subtotal of all items with attribute X is greater then 200,00, then apply rule

So far i could only find:

  • If amount of all X items is...
  • If price in cart of one item is...
  • If subtotal of cart is...

None of these and combinations of them solve the problem.

Example:

  • Position 1: Item SKU 123, Type X, Amount 2, Price: 50,00 -> Subtotal of 100

  • Position 2: Item SKU 124, Type X, Amount 100, Price: 0,50 -> Subtotal of 50

  • Position 3: Item SKU 889, Type Z, Amount 1, Price: 1500,00 -> Subtotal of 1500

In this case the rule should not apply since the total of the X items are only 150,00.

Increasing the amount of Position 1 or 2, could activate the rule, if the subtotal reaches atleast 200,00

  • The amount of the Type X items is useless to determine the price.

  • The price of one item in the cart is useless if there are multiple items of Type x

  • The subtotal of the cart is useless since other items, likeType Z, are to be ignored

Long story short: Any possible core feature way to solve this? Or does this need an extansion?

1 Answer 1

0

I don't think you can create a cart price rule that will satisfy your needs with the default Magento install. I just tried this on an Open Source 2.4.1, but none of the 'cart attributes' in Conditions section or 'cart item attributes' in Action section does the trick.

The only thing partially solving the problem is 'row total in cart' condition in the Action section, but that would work only if you increased qty of Position 1 until its row total reaches 200 OR if you increased Position 2 until its row total becomes 200. There is no option to take into account multiple row totals together (Position 1 + Position 2).

So I think you need a customization here (either you develop it or you purchase a module that could do that).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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