[ic] pricing help needed

Mark Weaver mdw1982 at mdw1982.com
Fri Mar 18 11:08:18 EST 2005


Peter wrote:
> On 03/18/05 06:43, Mark Weaver wrote:
> 
>> Here's what I've got now for the CommonAdjust directive:
>> CommonAdjust    products:price, -50%, ;$,
>> ==products, "&($item->{prod_group}=~/Gifts/ ? 0 : '-20%')"
>>
>> The problem I'm running into is that "first" it applies the 50% 
>> discount to the item's retail price and then applies the 20% discount 
>> on top of that. I'm still working on wraping my brain around 
>> everything thats going on with CommonAdjust, atoms and the like, so 
>> its not all making sense yet.
>>
>> At any rate, now for all items who have a prod_group value of "Gifts" 
>> I've got a 70% discount happening. Might you have an idea where I'm 
>> going wrong?
> 
> 
> Take out the first -50% and replace the 0 in your if operation with it 
> (the ( ... ? ... : ... ) is an if statement).
> 
> Peter

Ok... I have *got* to be missing something here. The CommonAdjust is now 
this:

CommonAdjust    :sale_price, ;:price, ;$,
==products, "&($item->{prod_group}=~/Gifts/ ? '-50%' : '-20%')"

the "-50%" value appears to get ignored and 20% discount is being 
applied to all items even though I'm telling it "if the product group is 
*Gifts*." If I reverse to the two discount percentages then 50% discount 
is applied to all items.

At the moment I'm feeling dumber than a stump, but I do very much 
appreciate your assistance and indulgence.

BTW... I tried using the grouping regex looking at the sku:
==products, "&($item->{sku}=~/^(?:90|40|94)/ ? '-50%' : '-20%')"
but received the same results and behavior as mentioned above. The only 
thing it appears to be acting on is the "last" discount value that 
appears in the expression.

-- 
Mark
-----------------------------------------------------------
Paid for by Penguins against modern appliances(R)
Linux User Since 1996
Powered by Mandrake Linux 8.2, 10.0 & RH Fedora Core 3


More information about the interchange-users mailing list