Skip to content

View Helpers

contentFor()

contentFor() — returns void

Available in: controller Category: Miscellaneous Functions

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.

NameTypeRequiredDefaultDescription
positionanynolastThe position in the section’s stack where you want the content placed. Valid values are first, last, or the numeric position.
overwriteanynofalseWhether or not to overwrite any of the content. Valid values are false, true, or all.
// 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)>