[AddLineItem Parameters]values[/AddLineItem]

Adds a product to the specified shopping cart.

To add products to a visitor's shopping cart, put an AddLineItem context into a template (alternately, you may use the Add command from a URL or a FORM). Whenever WebCatalog encounters an AddLineItem context, it opens the shopping cart file (creating a new one if necessary) and adds the product (identified by its SKU) to the end of the LineItems in the shopping cart. The item's price, taxable, canEmail, and unitShipCost information is found by looking for the values of those fields in the product database. You can use a different price by creating a Formulas.db database. Also see Remove, Clear, ShowCart, [SetLineItem] and Purchase.

Example (normally you would put the following text into a .tpl file on your server and use a web browser to link to it):

[AddLineItem cart=5678&sku=1234&db=catalog.txt]quantity=5&textA=Red[/AddLineItem]

Try It!

Note: you may also add line items to order files that are not inside the ShoppingCarts folder. Using file=/folder/folder/cartname instead of cart=cartname, you can affect any order file in any folder. This is most often used for "back door" administrative maintenance by people inside your organization.

you may add a maximum of 100 lineitems to a shopping cart.

The database "catalog.txt" is opened, and sku 1234 is found. Shopping cart file "5678" is opened, and a new line item is added to the bottom of the list, with a quantity of 5 and textA set to "Red" (as specified in the context above), with price taken from the database's price field (or, of a formula for [price] is available in Formulas.db, the price is calculated using that formula).

Here are the parameters to the AddLineItem context:
Parameter Description


Product database that contains the SKU, price, and other information


Uniquely identifies which product should be added to the cart.


Shopping cart file (from ShoppingCarts folder) that is to be affected


(alternative to cart) Shopping cart file (from any folder) that is to be affected. Unlike cart, this file can be in any folder. Specify the file URL-relative to the template.
Context values Description (these values go inside the context)


(Optional) In order to change the price (see below) you must provide the lineitem change password, which can be set in the preferences.


(Optional) Sometimes you may need to change the price of a product while adding it to the cart. Normally you use a formula to vary pricing, but sometimes this alternate technique is preferred. Remember to put the lineitem change password into the parameters. There is a security risk when using this technique, because outsiders can change the price to anything they like


(Optional) Extra information of any kind that you want associated with this line item. Often used to store extra product information, such as "shoe size" or "color". Also used to pass catalog database fields such as [title] through to the order file so they may be viewed later without needing the original database to look for the value of [title]


Same as textA above


Same as textA above


Same as textA above


Same as textA above


(Optional) Tells how many of this SKU should be added to the cart. This quantity is used when calculating subtotals, unitShipCost, etc.


(Optional) "T" or "F". Overrides "taxable" field in the database - normally the information about the item's taxable status is taken from a field called "taxable"


(Optional) "T" or "F". Overrides "canEmail" field in the database - normally the information about the item's canEmail (electronically deliverable) status is taken from a field called "canEmail"


(Optional) A number indicating the item's price for shipping. Overrides "unitShipCost" field in the database - normally the information about the item's unitShipCost status is taken from a field called "unitShipCost". ShipTotal and GrandTotal use this number (multiplied by quantity) to determine the total shipping and grand total.

Header Field

You may set any shopping cart header field (such as Name, taxRate, Address1, etc.) at the same time you add a product to the cart.