cfinclude

Description

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.)

Syntax

<cfinclude  
    template = "template name">
Note: 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.

History

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.

Attributes

Attribute

Req/Opt

Default

Description

template

Required

A logical path to a ColdFusion page.

Usage

ColdFusion searches for included files in the following locations:

  1. In the directory of the current page or a directory relative to the current page

  2. 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.cfm file 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 template attribute, as the following example shows:

<cfset templatetouse="../header/header.cfm"> 
<cfinclude template="#templatetouse#">

Example

<!--- This example shows the use of cfinclude to paste CFML or HTML code into another page 
    dynamically. ---> 
 
<h4>This example includes the dochome.htm page from the CFDOCS directory. The images do not 
    display, because they are located in a separate directory. However, the page appears 
    fully rendered within the contents of this page.</h4> 
<cfinclude template = "../cfdocs/dochome.htm">