Stefan Hornburg (Racke) > Nitesi-0.0051 > Nitesi::Cart

Download:
Nitesi-0.0051.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source   Latest Release: Nitesi-0.0094

NAME ^

Nitesi::Cart - Cart class for Nitesi Shop Machine

DESCRIPTION ^

Generic cart class for Nitesi.

CART ITEMS

Each item in the cart has at least the following attributes:

sku

Unique item identifier.

name

Item name.

quantity

Item quantity.

price

Item price.

CONSTRUCTOR ^

new

init

Initializer which receives the constructor arguments, but does nothing. May be overridden in a subclass.

items

Returns items in the cart.

subtotal

Returns subtotal of the cart.

total

Returns total of the cart.

add $item

Add item to the cart. Returns item in case of success.

The item is a hash (reference) which is subject to the following conditions:

sku

Item identifier is required.

name

Item name is required.

quantity

Item quantity is optional and has to be a natural number greater than zero. Default for quantity is 1.

price

Item price is required and a positive number.

remove $sku

Remove item from the cart. Takes SKU of item to identify the item.

update

Update items in the cart.

Parameters are pairs of SKUs and quantities, e.g.

    $cart->update(9780977920174 => 5,
                  9780596004927 => 3);

Triggers before_cart_update and after_cart_update hooks.

A quantity of zero is equivalent to removing this item, so in this case the remove hooks will be invoked instead of the update hooks.

clear

Removes all items from the cart.

quantity

Returns the sum of the quantity of all items in the shopping cart, which is commonly used as number of items.

    print 'Items in your cart: ', $cart->quantity, "\n";

count

Returns the number of different items in the shopping cart.

apply_cost

Apply cost to cart.

Absolute cost:

    $cart->apply_cost(amount => 5, name => 'shipping', label => 'Shipping');

Relative cost:

    $cart->apply_cost(amount => 0.19, name => 'tax', label => 'Sales Tax',
                      relative => 1);

Inclusive cost:

   $cart->apply_cost(amount => 0.19, name => 'tax', label => 'Sales Tax',
                      relative => 1, inclusive => 1);

clear_cost

Clear costs.

cost

Returns particular cost by position or by name.

id

Get or set id of the cart. This can be used for subclasses, e.g. primary key value for carts in the database.

name

Get or set the name of the cart.

error

Returns last error.

seed $item_ref

Seeds items within the cart from $item_ref.

AUTHOR ^

Stefan Hornburg (Racke), <racke@linuxia.de>

LICENSE AND COPYRIGHT ^

Copyright 2011-2012 Stefan Hornburg (Racke) <racke@linuxia.de>.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

syntax highlighting: