[ic] daily special offer rotation
Ron Phipps
ron at endpoint.com
Tue Mar 25 12:27:59 EST 2008
Marko Kuzio wrote:
> hello,
>
> my goal is an daily special offer rotation. i have an external table
> (offer_rotation) with follow shema:
>
> sku, display_date, price
>
> if call the customer the flypage, i look to the table offer_rotation if
> an entry for sku and display date exists (lookup with [query sql]),
> im displaying an special offer image and the new price.
>
> now, i have the follow problems:
>
> on the flypage i can displaying the new price, but in the basket and
> checkout pages are only the real old price from the main product db
> available. i search a process which can change the price (from
> offer_rotation) in the card, basket and checkout pages.
>
> How can in manipulate the prices, with the external db process
> offer_rotations?
>
> any idea's ????????
>
> thx and greats, mak
You can create a tag, let's call it "product-promo-price" which will return the promotion price and then call this tag from your CommonAdjust string. Here is something we are doing on one of our clients:
CommonAdjust [product-promo-price], ;:price, ==:options
UserTag product-promo-price Order sku quantity
UserTag product-promo-price Routine <<EOR
sub {
my ($sku, $quantity) = @_;
my $price = 0;
$sku = $sku || $item->{code};
$quantity = $quantity || $item->{quantity} || 1;
# do some lookup of the price and return it, if there is no promo price return 0
return $price;
}
How this works is CommonAdjust will return the first non 0 price. So it first calls product-promo-price, if it's 0 then it will fallback to the price in the products table.
You can read up more about CommonAdjust here:
http://www.icdevgroup.org/docs/confs/CommonAdjust.html
--
Ron Phipps
End Point Corporation
ron at endpoint.com
More information about the interchange-users
mailing list