Get Smarty


Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from and save up to 80%.

Where to buy prescription glasses? is your best choice!

Where to buy discount wedding dresses and cheap smart dresses free shipping -

Shop for 2018 World Cup Football Boots Online sale at

Browse best 2018 world cup soccer cleats and shoes from



  • Smarty が "ダブルクォート" で囲まれた内容の中から 割り当てられた 変数 として認識するのは、変数名が数字・文字・_(アンダースコア)のみで構成されているものだけです。詳細は 名前の付けかた を参照ください。

  • その他の文字、たとえば .(ピリオド)や $object>reference(オブジェクト参照)を含む場合は、 その変数を `バッククォート` で囲む必要があります。

  • さらに、Smarty3 ではダブルクォートで囲んだ文字列中に Smarty タグを埋め込めるようになりました。 これは、修飾子つきの変数やプラグイン、PHP の関数の結果などを扱うときに便利です。

Example 3.5. 構文の例

{func var="test $foo test"}              // $foo を参照します
{func var="test $foo_bar test"}          // $foo_bar を参照します
{func var="test `$foo[0]` test"}         // $foo[0] を参照します
{func var="test `$foo[bar]` test"}       // $foo[bar] を参照します
{func var="test $ test"}          // $foo ($ ではありません) を参照します
{func var="test `$` test"}        // $ を参照します
{func var="test `$` test"|escape} // クォートの外での修飾子
{func var="test {$foo|escape} test"}     // クォートの中での修飾子
{func var="test {time()} test"}          // PHP の関数の結果
{func var="test {counter} test"}         // プラグインの結果
{func var="variable foo is {if !$foo}not {/if} defined"} // Smarty ブロック関数


Example 3.6. 実用例

{* $tpl_name を値で置き換えます *}
{include file="subdir/$tpl_name.tpl"}

{* $tpl_name を置き換えません *}
{include file='subdir/$tpl_name.tpl'} // 変数にはダブルクォートが必要です!

{* "." を含むのでバッククォートで囲む必要があります *}
{cycle values="one,two,`$smarty.config.myval`"}

{* "." を含むのでバッククォートで囲む必要があります *}
{include file="`$`.tpl"}

{* ドット構文で変数を使うことができます *}
{include file="`$module.$view`.tpl"}



Smarty では非常に複雑な演算や構文を処理することもできますが、 テンプレートの構文は必要最小限にして表示内容に注力することをお勧めします。 もしテンプレートの構文が複雑になりすぎてきたと感じたら、 表示内容に直接関係のない部分をプラグインや修飾子として PHP 側に追い出すとよいでしょう。

escape も参照ください。

No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Email: (not shown)
What is 11 plus 20? (Are you human?)