CFINCLUDE
Executes another template within the current template
Usage
<cfinclude>
Attributes
Attribute | default | required | summary |
---|---|---|---|
ATTRIBUTECOLLECTION | A structure containing the tag attributes | ||
TEMPLATE | ![]() |
The path to the template to execute | |
PAGE | If no TEMPLATE, then the PAGE can be used, which is the URL for include | ||
RUNONCE | If this flag is set, then the template is only rendered once, even if included later on in the request, without this flag set |
Extra
This tag, as well as its function version RenderInclude(), lets you include any page referenced (rendered as CFML) into the current position of the template. This is another way to split up common functionality.
A handy flag here is the runonce attribute. This stops the referenced template from being included more than once in the given request. An example of this usage is if you used your included template to setup in-page functions (or even Javascript snippets), you can liberally put this file through your request files and it would only ever get rendered once. Naturally this is discouraged from a code maintenance point of view.
Consider the following example. The template "runme.inc" would only get executed once, with the engine skipping over the next calls. This works throughout the request, even if the include is called from a different template with a different path.
<cfinclude template="runme.inc" runonce="true" /> <cfinclude template="runme.inc" /> <cfinclude template="runme.inc" />