予約変数 {$smarty}
PHP の予約変数 {$smarty} を使用すると、 環境変数やリクエスト変数にアクセスすることができます。 アクセスできる内容について、以下に説明します。
リクエスト変数
$_GET、$_POST、 $_COOKIE、$_SERVER、 $_ENV および $_SESSION ( $request_vars_order および $request_use_auto_globals を参照してください) といった リクエスト変数 にアクセスするには、下の例のようにします。
注意: 歴史的な理由から、{$SCRIPT_NAME} には直接アクセスできます。 しかし、この値にアクセスする方法としては {$smarty.server.SCRIPT_NAME} が推奨されています。
<a href="{$SCRIPT_NAME}?page=smarty">click me</a> <a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
{$smarty.now}
現在の タイムスタンプ にアクセスするには {$smarty.now} を使用します。 この値は、いわゆるエポック (1970年1月1日) からの経過秒数が含まれます。 また、これを直接 date_format 修飾子に渡して表示させることができます。実行するたびに time() がコールされることに注意しましょう。つまり、全体を処理するのに3秒かかるスクリプトがあったとして、 その最初と最後でそれぞれ $smarty.now をコールすると、その値には2秒の差が生じます。
{$smarty.capture}
組み込みの {capture}..{/capture} 関数でキャプチャしたテンプレートの出力にアクセスするには {$smarty.capture} 変数を使用します。 詳細は {capture} のページを参照してください。
{$smarty.config}
{$smarty.config} 変数は、読み込まれた config 変数 を参照するのに使用できます。 {$smarty.config.foo} は {#foo#} と同義です。詳細は {config_load} のページを参照してください。
{$smarty.section}、{$smarty.foreach}
{$smarty.section} 変数および {$smarty.foreach} 変数は、 {section} および {foreach} のループプロパティを参照するために使用します。 この中には .first、.index といった有用な値が含まれます。
{$smarty.template}
現在処理中のテンプレートの名前を返します。 次の例の container.tpl と、そこからインクルードしている banner.tpl の両方で {$smarty.template} を使用しています。
<b>Main container is {$smarty.template}</b> {include file='banner.tpl'} |
出力は、このようになります。
<b>Main page is container.tpl</b> banner.tpl |
{$smarty.version}
このテンプレートをコンパイルした Smarty のバージョンを返します。
<div id="footer">Powered by Smarty {$smarty.version}</div> |
{$smarty.ldelim}、{$smarty.rdelim}
これらの変数を使用して、左右のデリミタをそのまま表示します。 {ldelim}、{rdelim} と同じです。
assigned variables および config variables も参照してください。