{capture}
{capture} は、タグの間のテンプレートの出力を集め、
それをブラウザに表示する代わりに変数に受け渡します。
{capture name='foo'} と {/capture}
の間のあらゆるコンテンツは、name
属性で指定した変数に格納されます。
キャプチャされたコンテンツは、特別な変数
$smarty.capture.foo
(foo
は name 属性で指定した変数) によって利用できます。
name 属性を指定しない場合は default
が使われ、$smarty.capture.default
のようになります。
{capture}'s はネスト可能です。
属性名
型
必須
デフォルト
概要
name
string
no
default
キャプチャされるブロックの名前
assign
string
No
n/a
キャプチャされた出力を割り当てるための変数名
注意
{insert}
の出力をキャプチャする際には注意が必要です。
$caching
が有効の時に、実行したい
{insert}
コマンドがもしキャッシュされたコンテンツ内にあるのなら、そのコンテンツはキャプチャされません。
name 属性を使用した {capture}
{$smarty.capture.banner}
{/if}
]]>
{capture} をテンプレート変数に格納
この例は、
{popup}
関数の使用法を示すものです。
Your ip is {$smarty.server.REMOTE_ADDR}.
{/capture}
help
]]>
$smarty.capture、
{eval}、
{fetch}、
fetch()
および {assign}
も参照してください。