IA Modules eCommerce Documentation

Have a question? Email support@iamodules.com to create a ticket in our ticket system.
 

Customizable Shopping Cart Items

If you sell an item that can be customized, then you may need the ability to pass customization notes to each item on the order. You can pass more than one note per item. These are matched to the items in the cart using the item's ListID.

Scenario one:

You want to sell products as variations, but don't require mapping directly to a distinct qb item. Maybe you sell coffee grounds and just want to know how the customer wants them bagged, which doesn't effect your inventory nor price. Essentially you just want to collect some additional data from the customer about this item they are buying.

In the following example store you sell coffee that can be ground several different ways. Let's assume that this item has a ListID of "1234-1234567".

What you will need is two form elements with the name formatted in a special way.

The first form element is the Label for the custom data it is passing. We can provide that in a hidden element, so that customers can't change it.
The format is:
<input type="hidden" name="Label1234-1234567" value="Grind"/>

You will need another form element that allows your user to provide the custom data in a text field.
The format is:
<select name="Desc1234-1234567">
 <option value="Whole Bean">Whole Bean </option>
 <option value="Auto Drip">Auto Drip</option>
 <option value="Espresso">Espresso</option>
</select>

Here is the example snippet for the WSCategoryProductList.xsl or WSProductDetail.xsl file

<form name="form1" method="post" action="ViewCart.jsp">
<input type="hidden" name="action" value="addItem"/>
Qty: <input type="text" name="Qty" value="1"/><br/>
<input type="hidden" name="ListID" value="{ListID}"/>
<input type="hidden" name="Label{ListID}" value="Grind"/>
Choose Grind: <select name="Desc{ListID}">
 <option value="Whole Bean">Whole Bean </option>
 <option value="Auto Drip">Auto Drip</option>
 <option value="Espresso">Espresso</option>
</select>
<br/>
<input type="submit" name="Submit" value="Add To Cart"/>
</form>

 

Scenario two:

You want to record and save things that apply to the item, like one or more engravings or embroidery words for a particular item.

In the following example store you sell items that can be engraved. Let's assume that this item has a ListID of "1234-1234567"

What you will need is two form elements with the name formatted in a special way.

The first form element is the Label for the custom data it is passing. We can provide that in a hidden element, so that customers can't change it.
The format is:
<input type="hidden" name="Label1234-1234567 " value="Custom Engraving"/>

You will need another form element that allows your user to provide the custom data in a text field.
The format is:
<input type="text" name="Desc1234-1234567 " value="Bob Smith"/>

So when you receive the order, this will be displayed as: Custom Engraving: Bob Smith

And viola, Bob Smith's order is passed on to you so that you can engrave his name in his widget. You can pass more than one pair of these to make it more complex. They are processed in the order they appear in the page.

Here is the example snippet for the WSCategoryProductList.xsl or WSProductDetail.xsl file

<form name="form1" method="post" action="ViewCart.jsp">
<input type="hidden" name="action" value="addItem"/>
<input type="hidden" name="Qty" value="1"/>
<input type="hidden" name="ListID" value="{ListID}"/>
<input type="hidden" name="Label{ListID}" value="Custom Engraving"/>
Custom Engraving: <input type="text" name="Desc{ListID}"/><br/>
<input type="submit" name="Submit" value="Add To Cart"/>
</form>

© 2013 IA Modules, LLC
All rights reserved.