Invokes a custom tag for use in ColdFusion application pages. This tag processes custom tag name conflicts.
For more information, see the "Creating and Using Custom CFML Tags" chapter, in Developing ColdFusion MX Applications with CFML.
<cfmodule template = "path" name = "tag_name" attributeCollection = "collection_structure" attribute_name1 = "valuea" attribute_name2 = "valueb" ...>
cfapplication,
cfassociate,
cflock
New in ColdFusion MX: 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 uses the name value that is within the attributeCollection
parameter. (Earlier releases did not process this consistently.)
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.
You can use attributeCollection
and attribute_name
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.
<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 Cfusion\CustomTags directory. <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> <!--- 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> <!--- Call the tag using the short cut 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>