Shopping cart

Since Tiki5 there has been a basic shopping cart feature in Tiki and, since Tiki7, there are a number of advanced features that can be further configured.


Products or services can be managed in trackers.
They can be displayed in wiki pages using the PluginList, the PluginCustomSearch or the Pretty Tracker method and added to Module Cart through the PluginAddToCart, to have information collected to a checkout page and sent to payment.

The profile Shopping Cart can be used to get started easily with the Tiki Shopping Cart but there is also a more advanced Shopping Cart (Advanced Shopping Cart tab) that implies orders, stock, bundle and gift management.


Option Description Default
Payment heading Heading displayed on payment form Cart Check-Out
Products tracker name Name of tracker that is the products tracker, needed for advanced cart features; the item ID will be the product code. None
Orders tracker name Name of tracker that is the orders tracker None
Order items tracker name Name of tracker that is the order items tracker None
Product classes tracker name Name of tracker that is the product classes tracker None
Products tracker ID ID of the tracker that is the products tracker, which is needed for advanced cart features; the item ID will be the product code. 0
Product name field name In the products tracker, the name of the field for the product name that will be used as the label of the product, for example in a bundle. 0
Product price field name In the products tracker, the name of the field for the product price 0
Product class ID field name In the products tracker, the name of the field for the product class ID 0
Bundled products feature for cart Activate the bundled products feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Items in bundle field name In the products tracker, the name of the field for a comma-separated list of product IDs of products in the bundle (that is, if the field contains anything, then this product is a bundle). You can also specify the number of the sub-products; for example, 23:("colon")2,24 means item 23 (x2) + item 24 (x1). 0
Manage product inventory Activate product inventory feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Inventory type field ID In the products tracker, the ID of the field to store the inventory type; the value of the field must be "none" or "internal". 0
Inventory total field ID In the products tracker, the ID of the field to store the total inventory of products 0
Inventory total less hold field ID In the products tracker, the ID of the field to store the total inventory of products less the amount on hold because they are currently in carts 0
Inventory hold timeout Minutes to hold inventory before making it available again when there is no user cart action 15 minutes
Record cart orders in trackers This feature is available for registered users and requires two trackers to be created and configured, an orders tracker and an orders item tracker. Profiles also need to be configured, to do the recording. None
Order tracker ID ID of the tracker that contains the order - needed for advanced cart features. 0
Order user field User making the order field 0
Order date field Date and time of the order field 0
Order total field Total cost of the order field 0
Order invoice field Payment system invoice Id field 0
Order weight field Payment system order weight field in grammes 0
Order Items tracker ID ID of the tracker that contains the order items - needed for advanced cart features. 0
Order Item Order field ItemLink field pointing to the Item's Order 0
Order Item Product field ItemLink field pointing to the Item's Product 0
Order Item price field Total price for the Item 0
Item quantity field Number of products in this Item 0
Item User field User Selector field who added this Item 0
Item inputedprice field Unknown 0
Allow anonymous shopping Allow shopping by anonymous users and record the orders in trackers. Disabled
Anonymous shopper info profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous users order review page Wiki page where anonymous users can review their orders None
Temporary shopper group Group name of group with permission to access review page via a token None
Enable association of product orders with events Enable association of products with events (or projects, etc.). Disabled
Associated event ID field name In the products tracker, the field name for the associated event ID. This is needed for the associated events cart feature, and requires an events tracker to be set up in which the item ID there is the event ID to be associated with. 0
Events tracker ID Tracker ID of tracker that is the events tracker 0
Events tracker name Name of tracker that is the events tracker None
Event start field name Field name in events tracker of start date/time None
Event end field name Field name in events tracker of end date/time None
Item event code field 0
Item event start field 0
Item event end field 0
Item parent code field 0
Allow exchange of products None
Option Description Default
Payment heading Heading displayed on payment form Cart Check-Out
Products tracker name Name of tracker that is the products tracker, needed for advanced cart features; the item ID will be the product code. None
Orders tracker name Name of tracker that is the orders tracker None
Order items tracker name Name of tracker that is the order items tracker None
Product classes tracker name Name of tracker that is the product classes tracker None
Products tracker ID ID of the tracker that is the products tracker, which is needed for advanced cart features; the item ID will be the product code. 0
Product name field name In the products tracker, the name of the field for the product name that will be used as the label of the product, for example in a bundle. 0
Product price field name In the products tracker, the name of the field for the product price 0
Product class ID field name In the products tracker, the name of the field for the product class ID 0
Bundled products feature for cart Activate the bundled products feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Items in bundle field name In the products tracker, the name of the field for a comma-separated list of product IDs of products in the bundle (that is, if the field contains anything, then this product is a bundle). You can also specify the number of the sub-products; for example, 23:("colon")2,24 means item 23 (x2) + item 24 (x1). 0
Manage product inventory Activate product inventory feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Inventory type field ID In the products tracker, the ID of the field to store the inventory type; the value of the field must be "none" or "internal". 0
Inventory total field ID In the products tracker, the ID of the field to store the total inventory of products 0
Inventory total less hold field ID In the products tracker, the ID of the field to store the total inventory of products less the amount on hold because they are currently in carts 0
Inventory hold timeout Minutes to hold inventory before making it available again when there is no user cart action 15 minutes
Record cart orders in trackers This feature is available for registered users and requires two trackers to be created and configured, an orders tracker and an orders item tracker. Profiles also need to be configured, to do the recording. None
Order tracker ID ID of the tracker that contains the order - needed for advanced cart features. 0
Order user field User making the order field 0
Order date field Date and time of the order field 0
Order total field Total cost of the order field 0
Order invoice field Payment system invoice Id field 0
Order weight field Payment system order weight field in grammes 0
Order Items tracker ID ID of the tracker that contains the order items - needed for advanced cart features. 0
Order Item Order field ItemLink field pointing to the Item's Order 0
Order Item Product field ItemLink field pointing to the Item's Product 0
Order Item price field Total price for the Item 0
Item quantity field Number of products in this Item 0
Item User field User Selector field who added this Item 0
Item inputedprice field Unknown 0
Allow anonymous shopping Allow shopping by anonymous users and record the orders in trackers. Disabled
Anonymous shopper info profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous users order review page Wiki page where anonymous users can review their orders None
Temporary shopper group Group name of group with permission to access review page via a token None
Enable association of product orders with events Enable association of products with events (or projects, etc.). Disabled
Associated event ID field name In the products tracker, the field name for the associated event ID. This is needed for the associated events cart feature, and requires an events tracker to be set up in which the item ID there is the event ID to be associated with. 0
Events tracker ID Tracker ID of tracker that is the events tracker 0
Events tracker name Name of tracker that is the events tracker None
Event start field name Field name in events tracker of start date/time None
Event end field name Field name in events tracker of end date/time None
Item event code field 0
Item event start field 0
Item event end field 0
Item parent code field 0
Allow exchange of products None
Option Description Default
Payment heading Heading displayed on payment form Cart Check-Out
Products tracker name Name of tracker that is the products tracker, needed for advanced cart features; the item ID will be the product code. None
Orders tracker name Name of tracker that is the orders tracker None
Order items tracker name Name of tracker that is the order items tracker None
Product classes tracker name Name of tracker that is the product classes tracker None
Products tracker ID ID of the tracker that is the products tracker, which is needed for advanced cart features; the item ID will be the product code. 0
Product name field name In the products tracker, the name of the field for the product name that will be used as the label of the product, for example in a bundle. 0
Product price field name In the products tracker, the name of the field for the product price 0
Product class ID field name In the products tracker, the name of the field for the product class ID 0
Bundled products feature for cart Activate the bundled products feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Items in bundle field name In the products tracker, the name of the field for a comma-separated list of product IDs of products in the bundle (that is, if the field contains anything, then this product is a bundle). You can also specify the number of the sub-products; for example, 23:("colon")2,24 means item 23 (x2) + item 24 (x1). 0
Manage product inventory Activate product inventory feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Inventory type field ID In the products tracker, the ID of the field to store the inventory type; the value of the field must be "none" or "internal". 0
Inventory total field ID In the products tracker, the ID of the field to store the total inventory of products 0
Inventory total less hold field ID In the products tracker, the ID of the field to store the total inventory of products less the amount on hold because they are currently in carts 0
Inventory hold timeout Minutes to hold inventory before making it available again when there is no user cart action 15 minutes
Record cart orders in trackers This feature is available for registered users and requires two trackers to be created and configured, an orders tracker and an orders item tracker. Profiles also need to be configured, to do the recording. None
Order tracker ID ID of the tracker that contains the order - needed for advanced cart features. 0
Order user field User making the order field 0
Order date field Date and time of the order field 0
Order total field Total cost of the order field 0
Order invoice field Payment system invoice Id field 0
Order weight field Payment system order weight field in grammes 0
Order Items tracker ID ID of the tracker that contains the order items - needed for advanced cart features. 0
Order Item Order field ItemLink field pointing to the Item's Order 0
Order Item Product field ItemLink field pointing to the Item's Product 0
Order Item price field Total price for the Item 0
Item quantity field Number of products in this Item 0
Item User field User Selector field who added this Item 0
Item inputedprice field Unknown 0
Allow anonymous shopping Allow shopping by anonymous users and record the orders in trackers. Disabled
Anonymous shopper info profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous users order review page Wiki page where anonymous users can review their orders None
Temporary shopper group Group name of group with permission to access review page via a token None
Enable association of product orders with events Enable association of products with events (or projects, etc.). Disabled
Associated event ID field name In the products tracker, the field name for the associated event ID. This is needed for the associated events cart feature, and requires an events tracker to be set up in which the item ID there is the event ID to be associated with. 0
Events tracker ID Tracker ID of tracker that is the events tracker 0
Events tracker name Name of tracker that is the events tracker None
Event start field name Field name in events tracker of start date/time None
Event end field name Field name in events tracker of end date/time None
Item event code field 0
Item event start field 0
Item event end field 0
Item parent code field 0
Allow exchange of products None
Option Description Default
Payment heading Heading displayed on payment form Cart Check-Out
Products tracker name Name of tracker that is the products tracker, needed for advanced cart features; the item ID will be the product code. None
Orders tracker name Name of tracker that is the orders tracker None
Order items tracker name Name of tracker that is the order items tracker None
Product classes tracker name Name of tracker that is the product classes tracker None
Products tracker ID ID of the tracker that is the products tracker, which is needed for advanced cart features; the item ID will be the product code. 0
Product name field name In the products tracker, the name of the field for the product name that will be used as the label of the product, for example in a bundle. 0
Product price field name In the products tracker, the name of the field for the product price 0
Product class ID field name In the products tracker, the name of the field for the product class ID 0
Bundled products feature for cart Activate the bundled products feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Items in bundle field name In the products tracker, the name of the field for a comma-separated list of product IDs of products in the bundle (that is, if the field contains anything, then this product is a bundle). You can also specify the number of the sub-products; for example, 23:("colon")2,24 means item 23 (x2) + item 24 (x1). 0
Manage product inventory Activate product inventory feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Inventory type field ID In the products tracker, the ID of the field to store the inventory type; the value of the field must be "none" or "internal". 0
Inventory total field ID In the products tracker, the ID of the field to store the total inventory of products 0
Inventory total less hold field ID In the products tracker, the ID of the field to store the total inventory of products less the amount on hold because they are currently in carts 0
Inventory hold timeout Minutes to hold inventory before making it available again when there is no user cart action 15 minutes
Record cart orders in trackers This feature is available for registered users and requires two trackers to be created and configured, an orders tracker and an orders item tracker. Profiles also need to be configured, to do the recording. None
Order tracker ID ID of the tracker that contains the order - needed for advanced cart features. 0
Order user field User making the order field 0
Order date field Date and time of the order field 0
Order total field Total cost of the order field 0
Order invoice field Payment system invoice Id field 0
Order weight field Payment system order weight field in grammes 0
Order Items tracker ID ID of the tracker that contains the order items - needed for advanced cart features. 0
Order Item Order field ItemLink field pointing to the Item's Order 0
Order Item Product field ItemLink field pointing to the Item's Product 0
Order Item price field Total price for the Item 0
Item quantity field Number of products in this Item 0
Item User field User Selector field who added this Item 0
Item inputedprice field Unknown 0
Allow anonymous shopping Allow shopping by anonymous users and record the orders in trackers. Disabled
Anonymous shopper info profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous users order review page Wiki page where anonymous users can review their orders None
Temporary shopper group Group name of group with permission to access review page via a token None
Enable association of product orders with events Enable association of products with events (or projects, etc.). Disabled
Associated event ID field name In the products tracker, the field name for the associated event ID. This is needed for the associated events cart feature, and requires an events tracker to be set up in which the item ID there is the event ID to be associated with. 0
Events tracker ID Tracker ID of tracker that is the events tracker 0
Events tracker name Name of tracker that is the events tracker None
Event start field name Field name in events tracker of start date/time None
Event end field name Field name in events tracker of end date/time None
Item event code field 0
Item event start field 0
Item event end field 0
Item parent code field 0
Allow exchange of products None
Option Description Default
Payment heading Heading displayed on payment form Cart Check-Out
Products tracker name Name of tracker that is the products tracker, needed for advanced cart features; the item ID will be the product code. None
Orders tracker name Name of tracker that is the orders tracker None
Order items tracker name Name of tracker that is the order items tracker None
Product classes tracker name Name of tracker that is the product classes tracker None
Products tracker ID ID of the tracker that is the products tracker, which is needed for advanced cart features; the item ID will be the product code. None
Inventory type field ID In the products tracker, the ID of the field to store the inventory type; the value of the field must be "none" or "internal". 0
Inventory total field ID In the products tracker, the ID of the field to store the total inventory of products None
Inventory total less hold field ID In the products tracker, the ID of the field to store the total inventory of products less the amount on hold because they are currently in carts None
Product name field name In the products tracker, the name of the field for the product name that will be used as the label of the product, for example in a bundle. None
Product price field name In the products tracker, the name of the field for the product price None
Items in bundle field name In the products tracker, the name of the field for a comma-separated list of product IDs of products in the bundle (that is, if the field contains anything, then this product is a bundle). You can also specify the number of the sub-products; for example, 23:("colon")2,24 means item 23 (x2) + item 24 (x1). None
Associated event ID field name In the products tracker, the field name for the associated event ID. This is needed for the associated events cart feature, and requires an events tracker to be set up in which the item ID there is the event ID to be associated with. None
Product class ID field name In the products tracker, the name of the field for the product class ID, needed for the gift certificates cart feature None
Gift certificate template field name In the products tracker, the name of the field for the gift certificate template, needed for the gift certificates cart feature None
Manage product inventory Activate product inventory feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Inventory hold timeout Minutes to hold inventory before making it available again when there is no user cart action 15 minutes
Bundled products feature for cart Activate the bundled products feature. This requires a products tracker to be set up properly, and the item ID must be the product code. Disabled
Record cart orders in trackers This feature is available for registered users and requires two trackers to be created and configured, an orders tracker and an orders item tracker. Profiles also need to be configured, to do the recording. None
Orders profile Wiki page containing the profile for creating orders (page name must not have spaces) None
Order item profile Wiki page containing the profile for creating order items (page name must not have spaces) None
Allow anonymous shopping Allow shopping by anonymous users and record the orders in trackers. Disabled
Anonymous orders profile Wiki page containing the profile for creating orders for anonymous users (page name must not have spaces) None
Anonymous order item profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous shopper info profile Wiki page containing the profile for creating order items for anonymous users (page name must not have spaces) None
Anonymous users order review page Wiki page where anonymous users can review their orders None
Temporary shopper group Group name of group with permission to access review page via a token None
Enable association of product orders Enable association of products with events (or projects, etc.). Disabled
Events tracker ID Tracker ID of tracker that is the events tracker None
Events tracker name Name of tracker that is the events tracker None
Event start field name Field name in events tracker of start date/time None
Event end field name Field name in events tracker of end date/time None
Allow exchange of products None
Order items tracker ID Tracker ID of tracker that is the order items tracker None
Gift certificates Disabled
Gift certificate tracker ID ID of tracker that is the gift certificate tracker None
Gift certificate tracker name Name of tracker that is the gift certificate tracker None


Products list page

Click to expand
Click to expand
Single Product Page

Click to expand
Click to expand

Checkout (before payment)

Click to expand
Click to expand
Checkout (after payment)

Click to expand
Click to expand

Manage Product Inventory

Allows inventory to be set and tracked for products in a tracker. The feature also puts products on hold when they are added to a users' cart and are returned subsequently if not bought.

Bundled Products

Allows one product to "contain" multiple other products. The price of the bundle itself is the price that the user pays. The child products' prices are ignored when a bundle is bought.

Record Orders in Trackers

Allows orders and order items to be saved in trackers and therefore, using the Unified Search Index can be reviewed or used in conjunction using the PluginList, the PluginCustomSearch or with Pretty Trackers to show users what they have bought, etc...

The recording also allocates and keeps track of value inputted to child products of bundles (not the actual price paid since the user pays the price of the bundle, not the child products).

You will need at least two trackers, one to store Orders and Order Items, and two special profiles to be placed on wiki pages.

Profiles needed to record orders

These profiles are to be placed on wiki pages on the system where the cart is. The tracker and field IDs in the profiles are to be updated so that orders and order items information can be recorded in the right fields.

OrderProfile and OrderItemProfile

Trackers Needed

Note that for now, the code expect certain specific Field Names. See Shopping Cart Trackers for more information

Anonymous shopping

Documentation on the way...

Collect additional user information when buying certain products

Documentation on the way...

Gift Certificates

Documentation on the way...

Product Exchanges

Documentation on the way...

Page Aliases