Page 1 of 1

cfcollection Create a ColdFusion collection Rate Topic: -----

#1 wiredwizard  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 0
  • View blog
  • Posts: 76
  • Joined: 07-May 05

Post icon  Posted 09 May 2005 - 06:26 PM

Creat a ColdFusion collection with the cfcollection tag
On occasion a developer may not have access to ColdFusion Administrator, for example, if you use a virtual hosting company. If you want your ColdFusion application to be able to create, delete, and maintain a collection you will need to use the cfcollection tag. The following will show you how to create a collection index it then index it to include a MS Access database this code works great for use with a serch function for your shopping cart site. You will need to create an Access database with a table named Products and you will need the following fields ItemID, ProductID, ProductName, BriefDescription, Details.

To create a simple collection form page:
Create a ColdFusion page with the following content:
<html>
<head>
<title>Collection Creation Input Form</title>
</head>
<body>
<h2>Specify a collection</h2>
<form action="collection_action.cfm" method="POST">
<!--- The following can be changed to your needs --->

<p>Collection name:mycart
</p>

<p>What do you want to do with the collection?</p>
<input type="radio"
name="CollectionAction"
value="Create" checked>Create<br>
<input type="radio"
name="CollectionAction"
value="Repair">Repair<br>
<input type="radio"
name="CollectionAction"
value="Optimize">Optimize<br>
<input type="radio"
name="CollectionAction"
value="Delete">Delete<br>
<input type="submit"
name="submit"
value="Submit">
</form>

</body>
</html>

Save the file as collection_form.cfm in the web root directory.


To create a simple collection form action page:
Create a ColdFusion page with the following content:
<html>
<head>
<title>cfcollection</title>
</head>
<body>
<h2>Collection creation</h2>

<cfoutput>

<cfswitch expression=#Form.collectionaction#>
<cfcase value="Create">
<cfcollection action="Create"
collection="mycart"
<!--- Replace with the path to your web root directory --->
path="D:\Inetpub\www\">
<p>The collection mycart is created.
</cfcase>

<cfcase value="Repair">
<cfcollection action="Repair"
collection="mycart">
<p>The collection mycart is repaired.
</cfcase>

<cfcase value="Optimize">
<cfcollection action="Optimize"
collection="mycart">
<p>The collection mycart is optimized.
</cfcase>

<cfcase value="Delete">
<cfcollection action="Delete"
collection="mycart">
<p>Collection mycart deleted.
</cfcase>
</cfswitch>
</cfoutput>
</body>
</html>
Save the file as collection_action.cfm in the web root directory.
In the web browser, enter the following URL to display the form page:
http://www.yourserve...ection_form.cfm
Verify that Create is selected and submit the form.
You successfully created a collection, named mycart. Now we have to index it.


Indexing a collection using the cfindex tag
You can index a collection using the cfindex tag, which eliminates the need to use the ColdFusion MX Administrator.
Create a ColdFusion page with the following content:
<html>
<head>
<title>Creating Index</title>
</head>
<body>
<h2>Indexing Complete</h2>

<cfindex collection="mycart"
action="refresh"
extensions=" .mdb, .htm, .html, .xls, .txt, .mif, .doc"
<!--- Replace with the path to your web root directory --->
key="D:\Inetpub\www\"
type="path"
urlpath="D:\Inetpub\www\"
recurse="Yes"
language="English">

<cfoutput>
The collection mycart has been indexed.
</cfoutput>
</body>
</html>
Save the file as collection_index_action.cfm in web_root.
In the web browser, enter the following URL to display the form page:
http://www.yourserver.com/ collection_index_action.cfm
A confirmation message appears upon successful completion.

Adding database information to a CF collection
To add your database information to your collection:
Create a ColdFusion page with the following content:
<html>
<head>
<title>Adding Query Data to an Index</title>
</head>
<body>

<!--- retrieve data from the table --->
<cfquery name="mydata" datasource="mycart">
SELECT * FROM Products
</cfquery>

<!--- update the collection with the above query results --->
<cfindex
query="mydata"
collection="mycart"
action="Update"
type="Custom"
key="ItemID"
title="ProductName"
Custom1="ProductName"
custom2="BriefDescription"
body="ItemID,ProductID,ProductName,BriefDescription,Details">
<h2>Indexing Complete</h2>
<!--- output the record set --->
<p>Your collection now includes the following items:</p>
<cfoutput query="mydata">
<p>#ItemID# #ProductID# #ProductName# #BriefDescription# #Details#</p>
</cfoutput>
</body>
</html>

To create a simple collection form action page:
Create a ColdFusion page with the following content:
<html>
<head>
<title>Verity Search Results</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<cfsearch name="mydata"
collection="mycart"
criteria="#form.criteria#">
<strong>Your Results</strong>
<cfoutput query="mydata">
<cfif URL IS "">
<p><a href="http://www.yourserver.com/index.cfm?action=ViewDetails&ItemID=#key#">#title#</a><br>
</p>
<cfelse>
<p><a href="http://www.yourserver.com/index.cfm?Action=ViewCategory&Category=9"></a><br>
</p>
</cfif>
</cfoutput>
</body>
</html>

Is This A Good Question/Topic? 0
  • +

Page 1 of 1