getBaseTagList
Description
Gets ancestor tag names, starting with the parent tag.
Categories
Related
Syntax
GetBaseTagList()
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.
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
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>