Cart32 is designed to be as flexible as possible, and that begins with having flexible options for your products. This article covers the standard product options available with Cart32. A separate article on custom product options also exists in the same category as this article. The quick links below will take you to various sections of this article which focus on one specific product option at a time.
All of the options listed below are enabled by modifying the HTML form code for the product in question. Here is a basic product form that we will use as our example throughout the different options.
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="submit" value="Buy Now" />
</form>
In each section we will highlight the part of the form that changed or was added. Our example form uses a cart url of http://Cart32.com/cgi-bin/cart32.exe and a client code of TEST. All product forms use the additem method, so it is included in all the form actions.
(Note: You can mix and match options in your product forms as needed. Just keep adding inputs!)
The accounting category is used in conjunction with the Quickbooks addon in Cart32. If you have different account categories for your products within Quickbooks you can specify this in the form code with your product information. Then, when you export your Quickbooks file (using the Quickbooks addin with Cart32) it will import the products to the proper matching categories in Quickbooks. To make this work we simply modify our basic example (from above) by adding an input.
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="accountingcategory" value="Clothing" />
<input type="submit" value="Buy Now" />
</form>
This product, when exported into a Quickbooks export file, will be imported into your Quickbooks program and into the Accounting Category of "Clothing" (assuming you've set this category up in Quickbooks of course). It's that simple. You can do this for all your products.
The discount product option allows you to specify a discount on a particular item if the buyer purchases a certain quantity. This is done by specifying a quantity range followed by a price per unit amount. You can specify as many discount ranges as you want. There are two ways to use these discounts: ranges with set prices, or an amount off the listed price. You'll notice the format is always like this:
In the following example we will be specifying a range of discounts. We will say that quantities of 1-5 are $19.95 each, quantities of 5-10 are $14.95 each, and quantities of 10+ (the plus sign includes anything after the number, in our case 10 and anything after it) are $12.95 each.
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95 (order 5+ for $14.95 per, or 10+ for $12.95 per)
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="discount" value="1-4:19.95;5-9:14.95;10+:12.95" />
<input type="text" name="qty" value=1? />
<input type="submit" value="Buy Now" />
</form>
(Note: We had to add an input for Qty so the customer could buy more than 1 at a time. More information on the Qty input is below)
In this next example we will discount the price of the item with a negative value rather than specifying a set price. In essence we achieve the same goal, but doing it this way allows you to simply update your price field and keep your discount input tag the same for future price increases. Here is how it works:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="discount" value="1-4:-0.00;5-9:-5.00;10+:-7.00" />
<input type="submit" value="Buy Now" />
</form>
(Special Note: Never use special characters or a dollar sign in your form code values. They will not be read properly by Cart32.)
When adding an item to the Cart it is best to include a small picture of the item so the customer can see what they have already added. Cart32 has a special feature whereby you can specify a URL to an image and it will show up in the itemlist next to the product name. It is best if this image is a smaller, thumbnailed version of the original product picture so your itemlist doesn't become huge and unreadable. Here is a quick example of how to specify a product image in your product form code:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="image" value="http://Cart32.com/image/T-Shirt.png" />
<input type="submit" value="Buy Now" />
</form>
The input named Item is a required input (as indicated by our example form at the top). You absolutely must have an item field with a value for Cart32 to be able to process the product form. There should never be a time when you don't want a product name.
There are no special tips or tricks to perform with the item name. There is, however, one important thing to note; you can NOT use HTML to mark up the item name. There is a really long (and quite boring) security reason behind why this is no longer possible, so suffice it to say it's not available.
The MaxQty input specifies the maximum quantity of an item a customer can purchase in a single order. For example, if you have a special on an item and you don't want one person to buy all of them, you can set a MaxQty and restrict them from ordering all your stock at once. Or, perhaps you have a product which has a legal restriction on the amount which can be shipped in a single order. Whatever your reason, the way to add this feature is pretty simple. In the following example we restrict the maximum a customer can buy to three:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="MaxQty" value="3" />
<input type="submit" value="Buy Now" />
</form>
The PartNo field allows you to tag the product with a part number, sku, or whatever identification system you use for your products. The part number field can be used passively to simply tag the product with an identification number for ease of use later, or it can be used actively in conjunction with a products database. This article will simply explain how to tag a product with a part number. For more information on how the products database works please search for the KB article "Products Database". It has much information about the subject. Here is an example of how to add a part number to your product form code:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="partno" value="ABC123" />
<input type="submit" value="Buy Now" />
</form>
The price input is the other required input for a product form. The price field can either be a static, hidden field or it can be a text field for things like donations. Our basic example at the top of this article shows how to specify price as a static, hidden field (in our case $19.95). However, if you wanted to make a donation form you could make the price editable. I will now take our example above and change it from a T-Shirt to a Donation and I'll make the price adjustable so the customer can select their donation amount. (Note: This also works great for allowing customers to select a gift certificate amount.)
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
Please Enter Your Donation Amount And Click "Make Donation"
<input type="hidden" name="item" value="Charitable Donation" />
<input type="text" name="price" value="19.95" />
<input type="submit" value="Make Donation" />
</form>
The P# fields are used in conjunction with the T# fields to give custom options to your products. For example, giving our T-Shirt the option of Color with options for maybe blue, red, green, etc. The flexibility and depth of these custom options are so vast an entire article exists to explain them. You can find the article labeled Product Options - Custom in the same category as this article. It has all the information you need for these fields.
The Qty field is used to specify the quantity of an item to purchase. Typically this is a text field or drop down so the customer can select however many of an item they wish.
The first thing we notice about the Qty field is it is not required. If you leave it out (as we did in our examples above) Cart32 will simply assume a Qty of 1. The second thing we notice is it is spelled QTY, not quantity. In fact, if you spell it quantity in your product form Cart32 will not recognize it (which means it will ignore it). And finally, you can either show or hide the Qty field according to your needs.
The most common use of the Qty field is to show it (make it of type text). This allows the customer to enter in a number in the textbox for however many they wish to purchase. You can also make it a dropdown, but that is covered later in this article in the section titled QtyDrop. Here is an example of our example form with a Qty field added to allow the customer to buy more than one at a time (default qty of 1):
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<br />Qty:
<input type="text" name="qty" value="1" />
<input type="submit" value="Buy Now" />
</form>
Sometimes, however, you may need to just have a button for purchasing different amounts. For example, you may have your products laid out in a grid with just a simple button for Buy 1, Buy 10, or Buy 100. Whatever your reason is, you can specify a qty in your product form without allowing the customer to modify it. Here is an example (qty of 100):
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="qty" value="100" />
<input type="submit" value="Buy Now" />
</form>
Often times tight control of the quantity of an item being purchased needs to be maintained. Cart32 allows you to specify a dropdown box for the Qty instead of specifying a hidden or text-editable value. This requires 2 steps: creating a dropdown list for the qty on your product form, and then specifying a matching QtyDrop to tell Cart32 what options to allow in the itemlist (in case the customer updates the quantity in the itemlist).
Turning the qty input into a dropdown is pretty simple The biggest difference is we will use an HTML select object instead of an HTML input object like we have been using. Inside of the HTML Select object we will put all our options. In the following example we will have a dropdown with qty options of 1, 10, and 100. Also in our example we will make 1 the default selected value by adding the word Selected to that option:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<select name="qty">
<option value="1" selected>1</option>
<option value="10">10</option>
<option value="100">100</option>
</select>
<input type="submit" value="Buy Now" />
</form>
Even though we created a dropdown list on the product form above we still only get to pass one value (the selected option value in the dropdown) to Cart32. This is a limitation of HTML. Cart32 cannot "look back" and see what options existed in the form; it can only see what was selected and passed to it when the customer clicked the Buy Now button.
For this reason we need to pass a special field to Cart32 along with this product to tell Cart32 what qty options to make available in the itemlist. This special field will contain a semi-colon separated list of qty options we want available in our itemlist. Let's take the example we just made (with the qty dropdown list) and add the QtyDrop field to accomplish this feat:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<select name="qty">
<option value="1" selected>1</option>
<option value="10">10</option>
<option value="100">100</option>
</select>
<input type="hidden" name="qtydrop" value="1;10;100" />
<input type="submit" value="Buy Now" />
</form>
Cart32 has the ability to redirect a customer to a special page based on the product added to the cart. All we have to do is add an input to our product form and specify what page we'd like the customer to go to after adding that particular product. Setting this up can take a while if you have lots of products, but it is a very powerful cross selling tool. Here is an example where we redirect the customer to a page with a hat that matches the T-Shirt they just added:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="SendTo" value="http://Cart32.com/CoolHat.html" />
<input type="submit" value="Buy Now" />
</form>
Cart32 allows you to specify a flat shipping amount for a product. This is useful for customers who want to charge a flat shipping amount per product, regardless of the destination. This only applies when using a shipping type of Built Into Item Cost. If you try to mix an item with a flat shipping amount in with other items that receive regular shipping charges, the flat-rate will simply be ignored. Here is an example of how to add the input for flat shipping rates on a product:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="shipping" value="5.00" />
<input type="submit" value="Buy Now" />
</form>
You can also give specific products free shipping using this product option. The way we do this is to specify -1 for the value. This will tell Cart32 to ignore the item entirely when the shipping calculations are being done. Here is an example:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="shipping" value="-1" />
<input type="submit" value="Buy Now" />
</form>
Cart32 gets shipping rates from shippers based on a starting point, a destination, product weight, and the number of boxes to ship. Different shippers have different maximum weights per box, and going from 1 to 2 boxes (even if they total the same weight as just 1 would) will cost you more. Shippers also charge for oddly shaped packages which require their own box.
To help with this, Cart32 offers two options. First, you can specify a maximum weight per box inside your Cart32 administration (more information on this is covered in another KB article called Shipping). Second, you can specify that a particular product has to ship in its own box. This extra flexibility helps get more accurate shipping requests when dealing with special packaging requirements. Here is an example of how to set this up in your product form:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="shipsinownbox" value="yes" />
<input type="submit" value="Buy Now" />
</form>
(Note: This option accepts Yes or No as a value. If you leave it out of the form Cart32 will assume No.)
The T# fields are used in conjunction with the P# fields to give custom options to your products. For example, giving our T-Shirt the option of Color with options for maybe blue, red, green, etc. The flexibility and depth of these custom options are so vast an entire article exists to explain them. You can find the article labeled Product Options - Custom in the same category as this article. It has all the information you need for these fields.
Cart32 is able to apply different tax rates on products. This is done by assigning the product a taxcode and then setting up that tax code in your tax grid within the Cart32 Administration. In our example we will be creating a taxcode called taxfree which will charge 0% tax to any item which has this tax code in its product form code. The tax grid is found in your Cart32 Administration on the Cart Settings -> Tax tab. Here is a screenshot of my tax grid which will be used in conjunction with the following example product form:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="taxcode" value="taxfree" />
<input type="submit" value="Buy Now" />
</form>
Cart32 is able to convert a product name into a link in the itemlist so your customers can simply click the item name and return to the product page (or whichever page you prefer). This is accomplished by passing an input with the name URL. The value will simply contain the url to the page you want the link to go to. In the following example we will make our T-Shirt become a link to http://Cart32.com/shirt.html after being added to the cart:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="url" value="http://Cart32.com/Shirt.html" />
<input type="submit" value="Buy Now" />
</form>
Cart32 is able to accept product weights for various calculations. The most common use of weights on products is to get accurate shipping requests. You MUST have product weights to get shipping quotes from real-time shippers like UPS/FedEx. Luckily, adding product weights is very simple. In our example we'll add a product weight of 1.3 pounds. Most shippers are only accurate within a tenth of a pound, therefore you should only put product weights rounded to the nearest tenth of a pound. Here is the product form code example:
<form method="post" action="http://Cart32.com/cgi-bin/cart32.exe/test-additem">
A Nice T-Shirt for $19.95
<input type="hidden" name="item" value="T-Shirt" />
<input type="hidden" name="price" value="19.95" />
<input type="hidden" name="weight" value="1.3" />
<input type="submit" value="Buy Now" />
</form>