Get Smarty

Donate

Paypal

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

Advertisement

Chapter 8. カスタム関数

Smarty は、テンプレートで使用可能なカスタム関数をいくつか実装しています。

{assign}

{assign} は、テンプレート変数を テンプレートの実行時に 割り当てます。

属性名 必須 デフォルト 概要
var string Yes n/a 割り当てられるテンプレート変数の名前
value string Yes n/a テンプレート変数に割り当てる値

Example 8.1. {assign}


{assign var='name' value='Bob'}

The value of $name is {$name}.

  

上の例の出力


The value of $name is Bob.

  

Example 8.2. {assign} での演算子の使用

この複雑な例では、変数を `バッククォート` で囲む必要があります。


{assign var=running_total value=`$running_total+$some_array[row].some_value`}

  

Example 8.3. PHP スクリプトからの {assign} 変数へのアクセス

PHP スクリプトから {assign} 変数にアクセスするには get_template_vars() を使用します。これは、変数 $foo を作成するテンプレートです。


{assign var='foo' value='Smarty'}

テンプレート変数は、以下のスクリプトのように テンプレートの実行後か実行中にしか利用できません。


<?php

// これは何も出力しません。テンプレートがまだ実行されていないからです。
echo $smarty->get_template_vars('foo');

// テンプレートを変数に格納します。
$whole_page = $smarty->fetch('index.tpl');

// これは 'smarty' と出力します。テンプレートが実行されたからです。
echo $smarty->get_template_vars('foo');

$smarty->assign('foo','Even smarter');

// これは 'Even smarter' を出力します。
echo $smarty->get_template_vars('foo');

?>


次の関数も、オプションで テンプレート変数へ割り当てることができます。

{capture}{include}{include_php}{insert}{counter}{cycle}{eval}{fetch}{math}{textformat}

assign() および get_template_vars() も参照してください。

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors