HTML_Template_IT::setVariable() -- 変数を代入する
説明
カレントブロック内の変数に値を代入します。
$placeholder が配列の場合は、
要素のキーがプレースホルダ名として扱われ、その要素の値で置換されます。
例
例 47-1テンプレート - cvsnames.tpl.htm <html>
<table>
<!-- BEGIN row -->
<tr>
<td>
{CVS_USERNAME}
</td>
<td>
{REALNAME}
</td>
<td>
<ul>
<!-- BEGIN project_row -->
<li>{PROJECT}</li>
<!-- END project_row -->
</ul>
</td>
</tr>
<!-- END row -->
</table>
</html> |
|
例 47-2スクリプト <?php
require_once "HTML/Template/IT.php";
$data = array
(
"0" => array("cvs_username" => "pajoye",
"realname" => "Pierre-Alain Joye",
"projects" => array("PEAR",
"PEAR_Frontend_Web",
"PEAR_RemoteInstaller",
"HTML_Template_IT")),
"1" => array("cvs_username" => "dsp",
"realname" => "David Soria Parra",
"projects" => array("HTML_Template_IT"))
);
$tpl = new HTML_Template_IT("./templates");
$tpl->loadTemplatefile("cvsnames.tpl.htm", true, true);
foreach($data as $name) {
// データを内側のブロックに代入します。
$tpl->setCurrentBlock("project_row");
foreach ($name['projects'] as $projectname) {
$tpl->setVariable("PROJECT", $projectname);
$tpl->parseCurrentBlock();
}
// 連想配列を使用してプレースホルダを設定することも可能です。
$tpl->setVariable(
array("CVS_USERNAME" => $name["cvs_username"],
"REALNAME" => $name["realname"])
);
$tpl->parse("row");
}
// show() は __global__ ブロックをパースし、
// 結果を表示します。
$tpl->show();
?> |
|
注意
この関数は、スタティックにコールする
ことはできません。