summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/libraries/cart.rst
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2014-02-09 16:30:06 +0100
committerAndrey Andreev <narf@devilix.net>2014-02-09 16:30:06 +0100
commitc2804a3f3eb085abcc50e8df51085db7a94c18d2 (patch)
treeb53e8a2798a75fa4f92ee2cc3201635ce7df319a /user_guide_src/source/libraries/cart.rst
parentf6600f840125eadf2366c2244f78ad95defb156b (diff)
parentdb97fe561f03284a287c9a588ac1ff19a9f5e71d (diff)
Merge branch 'develop' into 'feature/encryption'
Diffstat (limited to 'user_guide_src/source/libraries/cart.rst')
-rw-r--r--user_guide_src/source/libraries/cart.rst157
1 files changed, 109 insertions, 48 deletions
diff --git a/user_guide_src/source/libraries/cart.rst b/user_guide_src/source/libraries/cart.rst
index 716e94bcb..fb92c280a 100644
--- a/user_guide_src/source/libraries/cart.rst
+++ b/user_guide_src/source/libraries/cart.rst
@@ -11,7 +11,16 @@ Please note that the Cart Class ONLY provides the core "cart"
functionality. It does not provide shipping, credit card authorization,
or other processing components.
-.. contents:: Page Contents
+.. contents::
+ :local:
+
+.. raw:: html
+
+ <div class="custom-index container"></div>
+
+********************
+Using the Cart Class
+********************
Initializing the Shopping Cart Class
====================================
@@ -29,7 +38,7 @@ 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
@@ -179,7 +188,7 @@ helper </helpers/form_helper>`.
</table>
<p><?php echo form_submit('', 'Update your Cart'); ?></p>
-
+
Updating The Cart
=================
@@ -197,7 +206,7 @@ function:
'qty' => 3
);
- $this->cart->update($data);
+ $this->cart->update($data);
// Or a multi-dimensional array
@@ -236,73 +245,125 @@ 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
+will ever have to concern yourself with the "row ID", other than 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
-==================
+***************
+Class Reference
+***************
+
+.. class:: CI_Cart
+
+ .. attribute:: $product_id_rules = '\.a-z0-9_-'
+
+ These are the regular expression rules that we use to validate the product
+ ID - alpha-numeric, dashes, underscores, or periods by default
+
+ .. attribute:: $product_name_rules = '\w \-\.\:'
+
+ These are the regular expression rules that we use to validate the product ID and product name - alpha-numeric, dashes, underscores, colons or periods by
+ default
+
+ .. attribute:: $product_name_safe = TRUE
+
+ Whether or not to only allow safe product names. Default TRUE.
+
+
+ .. method:: insert([$items = array()])
+
+ :param array $items: Items to insert into the cart
+ :returns: TRUE on success, FALSE on failure
+ :rtype: bool
+
+ Insert items into the cart and save it to the session table. Returns TRUE
+ on success and FALSE on failure.
+
+
+ .. method:: update([$items = array()])
+
+ :param array $items: Items to update in the cart
+ :returns: TRUE on success, FALSE on failure
+ :rtype: bool
+
+ This method permits the quantity of a given item to be changed.
+ Typically it is called from the "view cart" page if a user makes changes
+ to the quantity before checkout. That array must contain the product ID
+ and quantity for each item.
+
+ .. method:: remove($rowid)
+
+ :param int $rowid: ID of the item to remove from the cart
+ :returns: TRUE on success, FALSE on failure
+ :rtype: bool
+
+ Allows you to remove an item from the shopping cart by passing it the
+ ``$rowid``.
+
+ .. method:: total()
+
+ :returns: Total amount
+ :rtype: int
+
+ Displays the total amount in the cart.
-$this->cart->insert();
-**********************
-Permits you to add items to the shopping cart, as outlined above.
+ .. method:: total_items()
-$this->cart->update();
-**********************
+ :returns: Total amount of items in the cart
+ :rtype: int
-Permits you to update items in the shopping cart, as outlined above.
+ Displays the total number of items in the cart.
-$this->cart->remove(rowid);
-***************************
-Allows you to remove an item from the shopping cart by passing it the rowid.
+ .. method:: contents([$newest_first = FALSE])
-$this->cart->total();
-*********************
+ :param bool $newest_first: Whether to order the array with newest items first
+ :returns: An array of cart contents
+ :rtype: array
-Displays the total amount in the cart.
+ Returns an array containing everything in the cart. You can sort the
+ order by which the array is returned by passing it TRUE where the contents
+ will be sorted from newest to oldest, otherwise it is sorted from oldest
+ to newest.
-$this->cart->total_items();
-***************************
+ .. method:: get_item($row_id)
-Displays the total number of items in the cart.
+ :param int $row_id: Row ID to retrieve
+ :returns: Array of item data
+ :rtype: array
-$this->cart->contents(boolean);
-*******************************
+ Returns an array containing data for the item matching the specified row
+ ID, or FALSE if no such item exists.
-Returns an array containing everything in the cart. You can sort the order,
-by which this is returned by passing it "true" where the contents will be sorted
-from newest to oldest, by leaving this function blank, you'll automatically just get
-first added to the basket to last added to the basket.
+ .. method:: has_options($row_id = '')
-$this->cart->get_item($row_id);
-*******************************
+ :param int $row_id: Row ID to inspect
+ :returns: TRUE if options exist, FALSE otherwise
+ :rtype: bool
-Returns an array containing data for the item matching the specified row ID,
-or FALSE if no such item exists.
+ Returns TRUE (boolean) if a particular row in the cart contains options.
+ This method is designed to be used in a loop with ``contents()``, since
+ you must pass the rowid to this function, as shown in the Displaying
+ the Cart example above.
-$this->cart->has_options($row_id);
-**********************************
+ .. method:: product_options([$row_id = ''])
-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.
+ :param int $row_id: Row ID
+ :returns: Array of product options
+ :rtype: array
-$this->cart->product_options($row_id);
-**************************************
+ Returns an array of options for a particular product. This method is
+ designed to be used in a loop with ``contents()``, since you
+ must pass the rowid to this method, as shown in the Displaying the
+ Cart example above.
-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.
+ .. method:: destroy()
-$this->cart->destroy();
-***********************
+ :rtype: void
-Permits you to destroy the cart. This function will likely be called
-when you are finished processing the customer's order.
+ Permits you to destroy the cart. This method will likely be called
+ when you are finished processing the customer's order. \ No newline at end of file