Index  Up  <<  >>  


How do I get the number of items in a shopping cart?

If it is simply the total number, extended according to quantity, then you can use the [nitems] tag. If you need this number for use in an embedded Perl script, you will need to set interpolate=1 (or user [[nitems]] in the old parser).

If it is the number of line items you need, then you can use a Perl script:

    [perl carts]
    $#{$Safe{'carts'}->{'main'}} + 1;
    [/perl]

(The 'main' refers to the main shopping cart.)

If you have SeparateItems in effect, and need the number of unique items, you could use:

    [perl]
    $items = q{[item-list][item-code]|[/item-list]};
    @items = split /\|/, $items;
    $count = 0;
    for (@items) {
    $count++ unless $seen{$_}++;
    }
    $count;
    [/perl]


Index  Up  <<  >>