GetBaseTagList

Description

Gets ancestor tag names, starting with the parent tag.

Returns

A comma-delimited list of uppercase ancestor tag names, as a string. The first list element is the current tag. If the current tag is nested, the next element is the parent tag. If the function is called for a top-level tag, it returns an empty string. If an ancestor does not expose data (see GetBaseTagData), its name might not be returned.

Function syntax

GetBaseTagList()

See also

GetBaseTagData; High-level data exchange in the Developing ColdFusion Applications

Usage

This function does not display the following tags or end tags in the ancestor tag list:

  • cfif, cfelseif, cfelse

  • cfswitch, cfcase, cfdefaultcase

  • cftry, cfcatch

This function displays the following tags only under the following conditions:

  • cfloop: if it uses a query attribute

  • cfoutput: if at least one of its children is a complex expression

  • cfprocessingdirective: if it has at least one other attribute besides pageencoding

Example

<!--- This example shows the use of GetBaseTagList function.  
Typically used in custom tags. ---> 
<cfif thisTag.executionMode is "start"> 
    <!--- Get the tag context stack  
    The list will look something like "CFIF,MYTAGNAME..." ---> 
    <cfset ancestorList = GetBaseTagList()> 
<br><br>Dump of GetBaseTagList output:<br> 
    <cfdump var="#ancestorList#"><br><br> 
    <!--- Output current tag name ---> 
    <cfoutput>This is custom tag#ListGetAt(ancestorList,1)#</cfoutput><br> 
    <!--- Determine whether this is nested inside a loop ---> 
    <cfset inLoop = ListFindNoCase(ancestorList, "cfloop")> 
    <cfif inLoop> 
        Running in the context of a cfloop tag.<br> 
    </cfif> 
</cfif>