Get Smarty

Donate

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 Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Advertisement

Name

assign() — テンプレートに値/オブジェクトを割り当てます。

説明

void assign(mixed var);
void assign(string varname,
            mixed var,
            bool nocache);

テンプレート変数名/値のペアを明示的に指定するか、それらが格納された連想配列を指定します。

オプションの三番目のパラメータ nocacheTRUE を渡すと、 キャッシュしない変数として代入します。詳細は 変数のキャッシュ機能 を参照ください。

Note

オブジェクトをテンプレートに代入/登録するときは、 テンプレートからアクセスするプロパティやメソッドは表示に関する目的でだけ使うようにしましょう。 オブジェクトを通じてアプリケーションのロジックを取り込むのは簡単ですが、 それはまずい設計につながり、管理しづらくなってしまいます。 Smarty ウェブサイトのベストプラクティスのページも参照ください。

Example 13.3. assign()


<?php
// 名前/値のペアを渡します
$smarty->assign('Name', 'Fred');
$smarty->assign('Address', $address);

// 連想配列を渡します
$smarty->assign(array('city' => 'Lincoln', 'state' => 'Nebraska'));

// 配列を渡します
$myArray = array('no' => 10, 'label' => 'Peanuts');
$smarty->assign('foo',$myArray);

// データベース (例: adodb) の行を渡します
$sql = 'select id, name, email from contacts where contact ='.$id;
$smarty->assign('contact', $db->getRow($sql));
?>

テンプレートの内容


{* 変数は、php と同様に大文字小文字を区別することに注意しましょう *}
{$Name}
{$Address}
{$city}
{$state}

{$foo.no}, {$foo.label}
{$contact.id}, {$contact.name},{$contact.email}


より複雑な配列の割り当てに関しては、 {foreach} および {section} を参照してください。

assignByRef()getTemplateVars()clearAssign()append() および {assign} も参照してください。

Comments
No comments for this page.

Advertisement