capture capture используется для того, чтобы присвоить вывод шаблона какой-либо переменной вместо его вывода на экран. Любое содержание между {capture name="foo"} и {/capture} сохраняется в переменную, указанную в атрибуте name. Затем его можно использовать в шаблоне с помощью специальной переменной $smarty.capture.foo, где foo - значение, переданное атрибуту name. Если атрибут name не указан, то используется default. Каждая комманда {capture} должна иметь пару {/capture}. capture поддерживает вложение. Техническое замечание Smarty 1.4.0 - 1.4.4 помещало захваченный вывод в переменную $return. С версии 1.4.5 поведение было изменено на использование атрибута name, так что обновите ваши шаблоны соответственно. Будте осторожны, сохраняя вывод комманды insert. Если вы используете кэширование и встречаются команды insert в области кэширования, то не сохраняйте данный вывод. Сохранение вывода шаблона {$smarty.capture.banner} {/if} ]]>