[ic] Remove one item from a cart? Limit quantities?
Jeff Dafoe
interchange-users@icdevgroup.org
Tue Jan 28 14:08:00 2003
> 1) I can't figure out how the snippet in the FAQ allows me to
> remove one item from a cart; there's just no context for it.
> Can anyone provide that? I can delete the WHOLE cart, but
> that doesn't make for a pleasant shopping experience when
> you've picked multiple items and your mouse slips.
Look at the Foundation cart component (templates/components/cart) for
sample code. It's done by setting the quantity of an item to zero.
> 2) On a possibly related note, is there a good way to tell
> the cart in the "simple store" that it should NOT increment
> quantities when an item is picked twice? We're selling one-
> offs, so once a sku is selected there just aren't any more
> of it. I have hardcoded the display so the quantity always
> shows as "1" but would like the internals to support it
> correctly.
This code below came from someone on the list, I think it was Ed. It
goes at the top of the basket (templates/components/cart) and checkout
(ord/checkout) pages. Then set the inventory for your items to 1.
[comment]dont let users add more to cart than we have in stock[/comment]
[perl tables=inventory]
my $item;
foreach $item (@{$Carts->{main}}) {
my $on_hand = tag_data('inventory', 'quantity', $item->{code});
next if $on_hand >= $item->{quantity};
if ($on_hand<=0) {
$item->{quantity} = 0;
$item->{q_message} = "Item is currently out of stock.";
} else {
$item->{quantity} = $on_hand;
$item->{q_message} = "Limited item stock, order quantity adjusted.";
}
}
[/perl]
> Again, this is the tutorial "simple store," not the Foundation
> demo.
I suspect you should use the Foundation, thats what everyone uses as a
foundation for building interchange sites.
Jeff