View Helpers
contentFor()
Signature
Section titled “Signature”contentFor() — returns void
Available in: controller
Category: Miscellaneous Functions
Description
Section titled “Description”Used to store a section’s output for rendering within a layout. This content store acts as a stack, so you can store multiple pieces of content for a given section.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
position | any | no | last | The position in the section’s stack where you want the content placed. Valid values are first, last, or the numeric position. |
overwrite | any | no | false | Whether or not to overwrite any of the content. Valid values are false, true, or all. |
Examples
Section titled “Examples”// 1. Store sidebar content for use in the layout
<cfsavecontent variable="mySidebar">
<nav>Recent Posts</nav>
</cfsavecontent>
<cfset contentFor(sidebar=mySidebar)>
<!--- In your layout, output the stored section --->
<cfoutput>
#includeContent("sidebar")#
#includeContent()#
</cfoutput>
// 2. Push content onto a stack — multiple calls append by default
<cfsavecontent variable="firstScript">
<script src="/js/base.js"></script>
</cfsavecontent>
<cfset contentFor(scripts=firstScript)>
<cfsavecontent variable="secondScript">
<script src="/js/page.js"></script>
</cfsavecontent>
<cfset contentFor(scripts=secondScript)>
<!--- Both scripts are rendered in order --->
<cfoutput>#includeContent("scripts")#</cfoutput>
// 3. Prepend content to an existing section using position="first"
<cfsavecontent variable="criticalScript">
<script src="/js/critical.js"></script>
</cfsavecontent>
<cfset contentFor(position="first", scripts=criticalScript)>
// 4. Overwrite an entire section with overwrite="all"
<cfsavecontent variable="replacementSidebar">
<nav>Admin Sidebar</nav>
</cfsavecontent>
<cfset contentFor(overwrite="all", sidebar=replacementSidebar)>
// 5. Overwrite a specific position in the stack (position=1, overwrite=true)
<cfsavecontent variable="updatedScript">
<script src="/js/updated.js"></script>
</cfsavecontent>
<cfset contentFor(position=1, overwrite=true, scripts=updatedScript)>