Adobe ColdFusion 8

cfassociate

Description

Allows subtag data to be saved with a base tag. Applies only to custom tags.

Category

Application framework tags

Syntax

<cfassociate 
    baseTag = "base tag name"
    dataCollection = "collection name">

Note: You can specify this tag's attributes in an attributeCollection whose value is a structure. Specify the structure name in the attributeCollection and use the tag's attribute names as structure keys.

See also

cfapplication, cferror, cflock, cfmodule; "High-level data exchange" in the ColdFusion Developer's Guide.

Attributes

Attribute

Req/Opt

Default

Description

baseTag

Required

 

Base tag name.

dataCollection

Optional

AssocAttribs

Structure in which base tag stores subtag data.

Usage

Call this tag within a subtag, to save subtag data in the base tag.

When ColdFusion passes subtag attributes back to the base tag, it saves them in a structure whose default name is AssocAttribs. To segregate subtag attributes (in a base tag that can have multiple subtags), specify a structure name in the dataCollection attribute. The structure is appended to an array whose name is thistag.collectionName.

In the custom tag code, the attributes passed to the tag by using the cfmodule tag attributeCollection attribute are saved as independent values, with no indication that they are grouped into a structure by the custom tag's caller. Therefore, in the called tag, if you assign a value to a specific attribute, it replaces the value passed in the attributeCollection attribute that you used when calling the subtag.

Example

<!--- Find the context. --->
<cfif thisTag.executionMode is "start">
 <!--- Associate attributes. --->
 <cfassociate baseTag = "CF_TAGBASE">

 <!--- Define defaults for attributes. --->
 <cfparam name = "attributes.happy" default = "yes">
 <cfparam name = "attributes.sad" default = "no">
...