Christopher H. Laco > Handel-1.00014 > Handel::Cart::Item

Download:
Handel-1.00014.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

Handel::Cart::Item - Module representing an individual shopping cart item

SYNOPSIS ^

    use Handel::Cart::Item;
    
    my $item = Handel::Cart::Item->create({
        cart     => '11111111-1111-1111-1111-111111111111',
        sku      => '1234',
        price    => 1.23,
        quantity => 1
    });

DESCRIPTION ^

Handel::Cart::Item is used in two main ways. First, you can create or edit cart items individually:

    use Handel::Cart::Item;
    
    my $item = Handel::Cart::Item->create({
        cart => '11111111-1111-1111-1111-111111111111',
        sku => '1234',
        price => 1.23,
        quantity => 1
    });

As a general rule, you probably want to add/edit items using the cart objects items and add methods below instead.

Second, the items method of any valid Handel::Cart object returns a collection of Handel::Cart::Item objects:

    my @items = $cart->items;
    foreach (@items) {
        print $_->sku;
    };

CONSTRUCTOR ^

create

Arguments: \%data [, \%options]

You can create a new Handel::Cart::Item object by calling the new method:

    my $item = Handel::Cart::Item->create({
        cart => '11111111-1111-1111-1111-111111111111',
        sku => '1234',
        price => 1.23,
        quantity => 1
    });
    
    $item->quantity(2);
    
    print $item->total;

The following options are available:

storage

A storage object to use to create a new item object. Currently, this storage object must have the same columns as the default storage object for the current item class.

COLUMNS ^

The following methods are mapped to columns in the default cart schema. These methods may or may not be available in any subclasses, or in situations where a custom schema is being used that has different column names.

id

Returns the id of the current cart item.

    print $item->id;

See "id" in Handel::Schema::Cart::Item for more information about this column.

cart

Gets/sets the id of the cart this item belongs to.

    $item->cart('11111111-1111-1111-1111-111111111111');
    print $item->cart;

See "cart" in Handel::Schema::Cart::Item for more information about this column.

sku

Arguments: $sku

Gets/sets the sku (stock keeping unit/part number) for the cart item.

    $item->sku('ABC123');
    print $item->sku;

See "sku" in Handel::Schema::Cart::Item for more information about this column.

quantity

Arguments: $quantity

Gets/sets the quantity, or the number of this item being purchased.

    $item->quantity(3);
    print $item->quantity;

By default, the value supplied will be checked against "constraint_quantity" in Handel::Constraints to verify it is within the valid range of values.

See "quantity" in Handel::Schema::Cart::Item for more information about this column.

price

Arguments: $price

Gets/sets the price for the cart item. The price is returned as a stringified Handel::Currency object.

    $item->price(12.95);
    print $item->price;
    print $item->price->format;

See "price" in Handel::Schema::Cart::Item for more information about this column.

total

Returns the total price for the cart item as a stringified Handel::Currency object. This is really just quantity*total and is provided for convenience.

    print $item->total;
    print $item->total->format;

description

Arguments: $description

Gets/sets the description for the current cart item.

    $item->description('Best Item Ever');
    print $item->description;

See "description" in Handel::Schema::Cart::Item for more information about this column.

SEE ALSO ^

Handel::Cart, Handel::Schema::Cart::Item, Handel::Currency

AUTHOR ^

    Christopher H. Laco
    CPAN ID: CLACO
    claco@chrislaco.com
    http://today.icantfocus.com/blog/
syntax highlighting: