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!

Visit for cheap soccer cleats, sneakers and Soccer Jerseys updates



変数を代入する際には、メイン Smarty オブジェクト、 createData() で作ったデータオブジェクト、 createTemplate() で作ったテンプレートオブジェクト のいずれかのスコープを選ぶことができます。 これらのオブジェクトは連結することができます。 テンプレートからは、自分自身のオブジェクトの変数だけでなく 連結した親オブジェクトに代入された変数も見ることができます。

デフォルトでは、$smarty->display(...)$smarty->fetch(...) でレンダリングしたオブジェクトは自動的に Smarty オブジェクトの変数スコープにリンクされます。

個々のデータあるいはテンプレートのスコープに代入すれば、 テンプレートからどの変数が見えるのかを完全に制御することができます。

Example 4.6. 変数のスコープの例

// 変数を Smarty オブジェクトのスコープに代入します

// 変数をデータオブジェクトのスコープに代入します
$data = $smarty->createData();

// 変数を他のデータオブジェクトのスコープに代入します
$data2 = $smarty->createData($data);

// 変数をテンプレートオブジェクトのスコープに代入します
$tpl = $smarty->createTemplate('index.tpl');

// 変数を Smarty オブジェクトへのリンクを持つテンプレートオブジェクトのスコープに代入します
$tpl2 = $smarty->createTemplate('index.tpl',$smarty);

// この display() は、$smarty オブジェクトの $foo='smarty' が見えます

// この display() は、データオブジェクト $data の $foo='data' と $bar='bar-data' が見えます

// この display() は、データオブジェクト $data の $foo='data' と
// データオブジェクト $data2 の $bar='bar-data2' が見えます

// この display() は、テンプレートオブジェクト $tpl の $bar='bar-template' が見えます
$tpl->display();  // あるいは $smarty->display($tpl);

// この display() は、テンプレートオブジェクト $tpl2 の $bar='bar-template2' と
// Smarty オブジェクト $foo の $foo='smarty' が見えます
$tpl2->display();  // あるいは $smarty->display($tpl2);


assign()createData() および createTemplate() も参照ください。

No comments for this page.