- 組み込み関数
第 7章組み込み関数
Smarty にはいくつかの組み込み関数があります。 これらはテンプレートエンジンにとって必要不可欠なものです。これらと同じ名前の カスタム関数 を作成したり、組み込み関数を修正したりする事はできません。
これらの関数の一部は assign 属性を持っており、 結果を出力せずにここで指定した名前のテンプレート変数に格納します。これは {assign} 関数と似ています。
{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} コマンドがもしキャッシュされたコンテンツ内にあるのなら、そのコンテンツはキャプチャされません。
|
例 7-2. {capture} をテンプレート変数に格納 この例は、 {popup} 関数の使用法を示すものです。
|
$smarty.capture 、 {eval} 、 {fetch} 、 fetch() および {assign} も参照してください。




