Embeds references to ColdFusion pages in CFML. You can embed cfinclude tags recursively. For another way to encapsulate CFML, see cfmessagebox. (A ColdFusion page was formerly sometimes called a ColdFusion template or a template.)
<cfinclude template = "template name" runOnce = "true|false">
You can specify this tag's attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag's attribute names as structure keys.
ColdFusion 11: The compileextforinclude attribute of the <cfapplication> tag affects the behavior of the <cfinclude> tag.
ColdFusion 10: Added the attribute {{runOnce}}
ColdFusion MX: Changed error behavior: if you use this tag to include a CFML page whose length is zero bytes, you do not get an error.
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
template |
Required |
|
A logical path to a ColdFusion page. |
runOnce |
Optional |
false |
If set to true, the given template (if already processed) is not processed again for a given request. |
ColdFusion searches for included files in the following locations:
In directories mapped in the ColdFusion Administrator
You cannot specify an absolute URL or file system path for the file to include. You can only use paths relative to the directory of the including page or a directory that is registered in the ColdFusion Administrator Mappings. The following cfinclude statements work, assuming that the myinclude.cfmfile exists in the specified directory:
<cfinclude template="myinclude.cfm"> <cfinclude template="../myinclude.cfm"> <cfinclude template="/CFIDE/debug/myinclude.cfm">
But the following do not work:
<cfinclude template="C:\ColdFusion\wwwroot\doccomments\myinclude.cfm"> <cfinclude template="http://localhost:8500/doccomments/myinclude.cfm">
The included file must be a syntactically correct and complete CFML page. For example, to output data from within the included page, you must have a cfoutput tag, including the end tag, on the included page, not the referring page. Similarly, you cannot span a cfif tag across the referring page and the included page; it must be complete within the included page.
You can specify a variable for the templateattribute, as the following example shows:
<cfset templatetouse="../header/header.cfm"> <cfinclude template="#templatetouse#">
<!--- main.cfm ---> <cfinclude template="header.cfm"> <p> Welcome to my cfinclude demo! </p> <cfinclude template="footer.cfm">
header.cfm
<p> Sample header! </p>
footer.cfm
<p> Sample footer! </p>
Sign in to your account