From efb37ca18bb622f943e3a0b65750dddfe077a889 Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Wed, 16 Sep 2009 09:47:52 +0000 Subject: missing version point in cart doc --- user_guide/libraries/cart.html | 690 ++++++++++++++++++++--------------------- 1 file changed, 345 insertions(+), 345 deletions(-) (limited to 'user_guide/libraries/cart.html') diff --git a/user_guide/libraries/cart.html b/user_guide/libraries/cart.html index 44229162d..cb623254f 100644 --- a/user_guide/libraries/cart.html +++ b/user_guide/libraries/cart.html @@ -1,346 +1,346 @@ - - - - - -Shopping Cart Class : CodeIgniter User Guide - - - - - - - - - - - - - - - - - - - - - -
- - - - - -

CodeIgniter User Guide Version 1.7

-
- - - - - - - - - -
- - -
- - - -
- - -

Shopping Cart Class

- -

The Cart Class permits items to be added to a session that stays active while a user is browsing your site. -These items can be retrieved and displayed in a standard "shopping cart" format, allowing the user to update the quantity or remove items from the cart.

- -

Please note that the Cart Class ONLY provides the core "cart" functionality. It does not provide shipping, credit card authorization, or other processing components.

- - -

Initializing the Shopping Cart Class

- -

Important: The Cart class utilizes CodeIgniter's -Session Class to save the cart information to a database, so before using the Cart class you must set up a database table -as indicated in the Session Documentation , and set the session preferences in your appliction/config/config.php file to utilize a database.

- -

To initialize the Shopping Cart Class in your controller constructor, use the $this->load->library function:

- -$this->load->library('cart'); -

Once loaded, the Cart object will be available using: $this->cart

- -

Note: The Cart Class will load and initialize the Session Class automatically, so unless you are using sessions elsewhere in your application, you do not need to load the Session class.

- -

Adding an Item to The Cart

- -

To add an item to the shopping cart, simply pass an array with the product information to the $this->cart->insert() function, as shown below:

- - -$data = array(
-               'id'      => 'sku_123ABC',
-               'qty'     => 1,
-               'price'   => 39.95,
-               'name'    => 'T-Shirt',
-               'options' => array('Size' => 'L', 'Color' => 'Red')
-            );
-
- -$this->cart->insert($data); - -
- -

Important: The first four array indexes above (id, qty, price, and name) are required. -If you omit any of them the data will not be saved to the cart. The fifth index (options) is optional. -It is intended to be used in cases where your product has options associated with it. Use an array for options, as shown above.

- -

The five reserved indexes are:

- - - -

In addition to the five indexes above, there are two reserved words: rowid and subtotal. These are used internally by the Cart class, so -please do NOT use those words as index names when inserting data into the cart.

- -

Your array may contain additional data. Anything you include in your array will be stored in the session. However, it is best to standardize your data among -all your products in order to make displaying the information in a table easier.

- - -

Adding Multiple Items to The Cart

- -

By using a multi-dimensional array, as shown below, it is possible to add multiple products to the cart in one action. This is useful in cases where you wish to allow -people to select from among several items on the same page.

- - - -$data = array(
- -               array(
-                       'id'      => 'sku_123ABC',
-                       'qty'     => 1,
-                       'price'   => 39.95,
-                       'name'    => 'T-Shirt',
-                       'options' => array('Size' => 'L', 'Color' => 'Red')
-                    ),
- -               array(
-                       'id'      => 'sku_567ZYX',
-                       'qty'     => 1,
-                       'price'   => 9.95,
-                       'name'    => 'Coffee Mug'
-                    ),
- -               array(
-                       'id'      => 'sku_965QRS',
-                       'qty'     => 1,
-                       'price'   => 29.95,
-                       'name'    => 'Shot Glass'
-                    )
- -            );
-
- -$this->cart->insert($data); - -
- - - - -

Displaying the Cart

- -

To display the cart you will create a view file with code similar to the one shown below.

- -

Please note that this example uses the form helper.

- - - - - - - -

Updating The Cart

- -

To update the information in your cart, you must pass an array containing the Row ID and quantity to the $this->cart->update() function:

- -

Note: If the quantity is set to zero, the item will be removed from the cart.

- - -$data = array(
-               'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
-               'qty'   => 3
-            );
-
- -$this->cart->update($data); -

-// Or a multi-dimensional array

-$data = array(
- -               array(
-                       'rowid'   => 'b99ccdf16028f015540f341130b6d8ec',
-                       'qty'     => 3
-                    ),
- -               array(
-                       'rowid'   => 'xw82g9q3r495893iajdh473990rikw23',
-                       'qty'     => 4
-                    ),
- -               array(
-                       'rowid'   => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
-                       'qty'     => 2
-                    )
- -            );
-
- -$this->cart->update($data); - - - - -
- -

What is a Row ID?  The row ID is a unique identifier that is generated by the cart code when an item is added to the cart. The reason a -unique ID is created is so that identical products with different options can be managed by the cart.

- -

For example, let's say someone buys two identical t-shirts (same product ID), but in different sizes. The product ID (and other attributes) will be -identical for both sizes because it's the same shirt. The only difference will be the size. The cart must therefore have a means of identifying this -difference so that the two sizes of shirts can be managed independently. It does so by creating a unique "row ID" based on the product ID and any options associated with it.

- -

In nearly all cases, updating the cart will be something the user does via the "view cart" page, so as a developer, it is unlikely that you will ever have to concern yourself -with the "row ID", other then making sure your "view cart" page contains this information in a hidden form field, and making sure it gets passed to the update -function when the update form is submitted. Please examine the construction of the "view cart" page above for more information.

- - - -

 

- - -

Function Reference

- -

$this->cart->insert();

- -

Permits you to add items to the shopping cart, as outlined above.

- - -

$this->cart->update();

- -

Permits you to update items in the shopping cart, as outlined above.

- - -

$this->cart->total();

- -

Displays the total amount in the cart.

- - -

$this->cart->total_items();

- -

Displays the total number of items in the cart.

- - -

$this->cart->contents();

- -

Returns an array containing everything in the cart.

- - - -

$this->cart->has_options(rowid);

- -

Returns TRUE (boolean) if a particular row in the cart contains options. This function is designed to be used in a loop with $this->cart->contents(), since you must pass the rowid to this function, as shown in the Displaying the Cart example above.

- - -

$this->cart->options(rowid);

- -

Returns an array of options for a particular product. This function is designed to be used in a loop with $this->cart->contents(), since you must pass the rowid to this function, as shown in the Displaying the Cart example above.

- - - -

$this->cart->destroy();

- -

Permits you to destroy the cart. This function will likely be called when you are finished processing the customer's order.

- - - - -
- - - - - - + + + + + +Shopping Cart Class : CodeIgniter User Guide + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +

CodeIgniter User Guide Version 1.7.2

+
+ + + + + + + + + +
+ + +
+ + + +
+ + +

Shopping Cart Class

+ +

The Cart Class permits items to be added to a session that stays active while a user is browsing your site. +These items can be retrieved and displayed in a standard "shopping cart" format, allowing the user to update the quantity or remove items from the cart.

+ +

Please note that the Cart Class ONLY provides the core "cart" functionality. It does not provide shipping, credit card authorization, or other processing components.

+ + +

Initializing the Shopping Cart Class

+ +

Important: The Cart class utilizes CodeIgniter's +Session Class to save the cart information to a database, so before using the Cart class you must set up a database table +as indicated in the Session Documentation , and set the session preferences in your appliction/config/config.php file to utilize a database.

+ +

To initialize the Shopping Cart Class in your controller constructor, use the $this->load->library function:

+ +$this->load->library('cart'); +

Once loaded, the Cart object will be available using: $this->cart

+ +

Note: The Cart Class will load and initialize the Session Class automatically, so unless you are using sessions elsewhere in your application, you do not need to load the Session class.

+ +

Adding an Item to The Cart

+ +

To add an item to the shopping cart, simply pass an array with the product information to the $this->cart->insert() function, as shown below:

+ + +$data = array(
+               'id'      => 'sku_123ABC',
+               'qty'     => 1,
+               'price'   => 39.95,
+               'name'    => 'T-Shirt',
+               'options' => array('Size' => 'L', 'Color' => 'Red')
+            );
+
+ +$this->cart->insert($data); + +
+ +

Important: The first four array indexes above (id, qty, price, and name) are required. +If you omit any of them the data will not be saved to the cart. The fifth index (options) is optional. +It is intended to be used in cases where your product has options associated with it. Use an array for options, as shown above.

+ +

The five reserved indexes are:

+ + + +

In addition to the five indexes above, there are two reserved words: rowid and subtotal. These are used internally by the Cart class, so +please do NOT use those words as index names when inserting data into the cart.

+ +

Your array may contain additional data. Anything you include in your array will be stored in the session. However, it is best to standardize your data among +all your products in order to make displaying the information in a table easier.

+ + +

Adding Multiple Items to The Cart

+ +

By using a multi-dimensional array, as shown below, it is possible to add multiple products to the cart in one action. This is useful in cases where you wish to allow +people to select from among several items on the same page.

+ + + +$data = array(
+ +               array(
+                       'id'      => 'sku_123ABC',
+                       'qty'     => 1,
+                       'price'   => 39.95,
+                       'name'    => 'T-Shirt',
+                       'options' => array('Size' => 'L', 'Color' => 'Red')
+                    ),
+ +               array(
+                       'id'      => 'sku_567ZYX',
+                       'qty'     => 1,
+                       'price'   => 9.95,
+                       'name'    => 'Coffee Mug'
+                    ),
+ +               array(
+                       'id'      => 'sku_965QRS',
+                       'qty'     => 1,
+                       'price'   => 29.95,
+                       'name'    => 'Shot Glass'
+                    )
+ +            );
+
+ +$this->cart->insert($data); + +
+ + + + +

Displaying the Cart

+ +

To display the cart you will create a view file with code similar to the one shown below.

+ +

Please note that this example uses the form helper.

+ + + + + + + +

Updating The Cart

+ +

To update the information in your cart, you must pass an array containing the Row ID and quantity to the $this->cart->update() function:

+ +

Note: If the quantity is set to zero, the item will be removed from the cart.

+ + +$data = array(
+               'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
+               'qty'   => 3
+            );
+
+ +$this->cart->update($data); +

+// Or a multi-dimensional array

+$data = array(
+ +               array(
+                       'rowid'   => 'b99ccdf16028f015540f341130b6d8ec',
+                       'qty'     => 3
+                    ),
+ +               array(
+                       'rowid'   => 'xw82g9q3r495893iajdh473990rikw23',
+                       'qty'     => 4
+                    ),
+ +               array(
+                       'rowid'   => 'fh4kdkkkaoe30njgoe92rkdkkobec333',
+                       'qty'     => 2
+                    )
+ +            );
+
+ +$this->cart->update($data); + + + + +
+ +

What is a Row ID?  The row ID is a unique identifier that is generated by the cart code when an item is added to the cart. The reason a +unique ID is created is so that identical products with different options can be managed by the cart.

+ +

For example, let's say someone buys two identical t-shirts (same product ID), but in different sizes. The product ID (and other attributes) will be +identical for both sizes because it's the same shirt. The only difference will be the size. The cart must therefore have a means of identifying this +difference so that the two sizes of shirts can be managed independently. It does so by creating a unique "row ID" based on the product ID and any options associated with it.

+ +

In nearly all cases, updating the cart will be something the user does via the "view cart" page, so as a developer, it is unlikely that you will ever have to concern yourself +with the "row ID", other then making sure your "view cart" page contains this information in a hidden form field, and making sure it gets passed to the update +function when the update form is submitted. Please examine the construction of the "view cart" page above for more information.

+ + + +

 

+ + +

Function Reference

+ +

$this->cart->insert();

+ +

Permits you to add items to the shopping cart, as outlined above.

+ + +

$this->cart->update();

+ +

Permits you to update items in the shopping cart, as outlined above.

+ + +

$this->cart->total();

+ +

Displays the total amount in the cart.

+ + +

$this->cart->total_items();

+ +

Displays the total number of items in the cart.

+ + +

$this->cart->contents();

+ +

Returns an array containing everything in the cart.

+ + + +

$this->cart->has_options(rowid);

+ +

Returns TRUE (boolean) if a particular row in the cart contains options. This function is designed to be used in a loop with $this->cart->contents(), since you must pass the rowid to this function, as shown in the Displaying the Cart example above.

+ + +

$this->cart->options(rowid);

+ +

Returns an array of options for a particular product. This function is designed to be used in a loop with $this->cart->contents(), since you must pass the rowid to this function, as shown in the Displaying the Cart example above.

+ + + +

$this->cart->destroy();

+ +

Permits you to destroy the cart. This function will likely be called when you are finished processing the customer's order.

+ + + + +
+ + + + + + \ No newline at end of file -- cgit v1.2.3-24-g4f1b