Adobe ColdFusion 8

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.

Category

Other functions

Function syntax

GetBaseTagList()

See also

GetBaseTagData; "High-level data exchange" in the ColdFusion Developer's Guide

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>