Example: A Dynamic Shopping Cart - MACROMEDIA COLDFUSION MX 61-DEVELOPING COLDFUSION MX Develop Manual

Developing coldfusion mx applications
Table of Contents

Advertisement

<cfif i mod 2 EQ 0>
<cfset Color = "white">
<cfelse>
<cfset Color = "gray">
</cfif>
<tr bgcolor="#color#">
<td>
hello #i#
</td>
</tr>
</cfloop>
</table>
</cfoutput>

Example: a dynamic shopping cart

The following example dynamically creates and manipulates variable names without using
dynamic expression evaluation by using associative array notation.
You need to dynamically generate variable names in applications such as shopping carts, where
the required output is dynamically generated and variable. In a shopping cart, you do not know in
advance the number of cart entries or their contents. Also, because you are using a form, the
action page only receives Form variables with the names and values of the form fields.
The following example shows the shopping cart contents and lets you edit your order and submit
it. To simplify things, the example automatically generates the shopping cart contents using
CFScript instead of having the user fill the cart. A more complete example would populate a
shopping cart as the user selected items. Similarly, the example omits all business logic for
committing and making the order.
To create the form:
Create a file in your editor.
1
<html>
<head>
<title>Shopping Cart</title>
</head>
<cfscript>
CartItems=4;
Cart = ArrayNew(1);
for ( i=1; i LE cartItems; i=i+1)
{
Cart[i]=StructNew();
Cart[i].ID=i;
Cart[i].Name="Product " & i;
Cart[i].SKU=i*100+(2*i*10)+(3*i);
Cart[i].Qty=3*i-2;
}
</cfscript>
<body>
Your shopping cart has the following items.<br>
You can change your order quantities.<br>
If you don't want any item, clear the item's check box.<br>
When you are ready to order, click submit.<br>
<br>
<cfform name="ShoppingCart" action="ShoppingCartAction.cfm" method="post">
<table>
<tr>
Dynamic expressions and dynamic variables
99

Advertisement

Table of Contents
loading

This manual is also suitable for:

Coldfusion mx

Table of Contents