capture Attribute Name Type Required Default Description name string no default The name of the captured block assign string No n/a The variable name where to assign the captured output to capture is used to collect the output of the template into a variable instead of displaying it. Any content between {capture name="foo"} and {/capture} is collected into the variable specified in the name attribute. The captured content can be used in the template from the special variable $smarty.capture.foo where foo is the value passed in the name attribute. If you do not supply a name attribute, then "default" will be used. All {capture} commands must be paired with {/capture}. You can nest capture commands. Technical Note Smarty 1.4.0 - 1.4.4 placed the captured content into the variable named $return. As of 1.4.5, this behavior was changed to use the name attribute, so update your templates accordingly. Be careful when capturing insert output. If you have caching turned on and you have insert commands that you expect to run within cached content, do not capture this content. capturing template content {$smarty.capture.banner} {/if} ]]>