I've been down the same path and I came to the conclusion it wasn't possible unless writing your own evaluate. The thing you can do is if the brand exists in your cart, this promotion will not apply to any of the items in the cart. However, you can't have it not work for just 1 of the line items...
There are ways of adding custom logic to always exclude an item from evaluation of promotion if it belongs to a brand, but I reckon that's not what you're after.
I think Yoel requested this feature a while back and it is in our backlog, but it will not happen any time soon. Unless I can find some time working on it next hackday and find a reasonable solution for it.
But that would mean latest version :)
Thanks for the answers guys! I'm going to inherit from EntryPromotionProcessorBase and write Evaluate from scratch. There seems to be some evaluators (TargetEvaluator, FulfillmentEvaluator) that can handle the baseline logic for me. I'll utilize those.
I have extended the SpendAmountGetItemDiscount promotion data, with the following property:
In the processor I wish to exclude the products that is associated with brands added in my custom property. Next I have created this processor:
Using these two overrides is there any way to apply the logic stated above?
After having tried a bunch of stuff I'm fearing I might have to inherit from EntryPromotionProcessorBase and write Evaluate from scratch, which seems overkill only to exclude some products from the discount...
Any ideas? Thanks in advance.
- Regards, Benjamin