User Guide

GetBaseTagList 481
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
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>