History
ColdFusion
MX: Changed behavior when using this tag within a custom tag: if
the attribute_name parameter is the same as a key
element within the attributeCollection parameter,
ColdFusion now uses the name value that is within the attributeCollection parameter.
(Earlier releases did not process this consistently.)
Usage
To name
a ColdFusion page that contains the custom tag definition, including
its path, use the template attribute. To refer
to the custom tag in the ColdFusion installation directory, using
dot notation to indicate its location, use the name attribute.
On
UNIX systems, ColdFusion searches first for a file with a name that
matches the name attribute, but is all lower case.
If it does not find the file, it looks for a file name that matches
the attribute with identical character casing.
You can use
the attributeCollection attribute and explicit
custom tag attributes in the same call.
Within the custom
tag code, the attributes passed with attributeCollection are
saved as independent attribute values, with no indication that they
are grouped into a structure by the custom tag’s caller.
Similarly,
if the custom tag uses a cfassociate tag to save
its attributes, the attributes passed with attributeCollection are
saved as independent attribute values, with no indication that they
are grouped into a structure by the custom tag’s caller.
If
you specify an end tag to cfmodule, ColdFusion
calls your custom tag as if it had both a start and an end tag.
For more information, see Handling
end tags in the Developing ColdFusion Applications.
Example
<h3>cfmodule Example</h3>
<p>This view-only example shows use of cfmodule to call a custom tag inline.</p>
<p>This example uses a sample custom tag that is saved in myTag.cfm in the snippets directory.
You can also save ColdFusion custom tags in the CFusionMX7\CustomTags directory.</p>
<cfset attrCollection1 = StructNew()>
<cfparam name="attrCollection1.value1" default="22">
<cfparam name="attrCollection1.value2" default="45">
<cfparam name="attrcollection1.value3" default="88">
<!--- Call the tag with CFMODULE with Name--->
<cfmodule
Template="myTag.cfm"
X="3"
attributeCollection=#attrCollection1#
Y="4">
<!--- Show the code. --->
<HR size="2" color="#0000A0">
<P>Here is one way in which to invoke the custom tag, using the TEMPLATE attribute.</P>
<cfoutput>#HTMLCodeFormat(" <CFMODULE
Template=""myTag.cfm""
X=3
attributeCollection=##attrCollection1##
Y=4>")#
</cfoutput>
<p>The result: <cfoutput>#result#</cfoutput></p>
<!--- Call the tag with CFMODULE with Name.--->
<!---
<CFMODULE
Name="myTag"
X="3"
attributeCollection=#attrCollection1#
Y="4">
--->
<!--- Show the code. --->
<HR size="2" color="#0000A0">
<p>Here is another way to invoke the custom tag, using the NAME attribute.</p>
<cfoutput>#HTMLCodeFormat(" <CFMODULE
NAME='myTag'
X=3
attributeCollection=##attrCollection1##
Y=4>")#
</cfoutput>
<P>The result: <cfoutput>#result#</cfoutput></p>
<!--- Call the tag using the shortcut notation. --->
<!---
<CF_myTag
X="3"
attributeCollection=#attrCollection1#
Y="4">
--->
<!--- Show the code. --->
<p>Here is the short cut to invoking the same tag.</p>
<cfoutput>#HTMLCodeFormat( "<cf_mytag
x = 3
attributeCollection = ##attrcollection1##
y = 4>")#
</cfoutput>
<p>The result: <cfoutput>#result#</cfoutput></p>