void
HTML_Template_IT::setVariable (
mixed
$placeholder
, mixed
$variable = ""
)
カレントブロック内の変数に値を代入します。
$placeholder
が配列の場合は、
要素のキーがプレースホルダ名として扱われ、その要素の値で置換されます。
mixed $placeholder
-
置換されるプレースホルダ、
またはプレースホルダをキー、代入する内容を値とした配列
mixed $variable
-
$placeholder
が配列以外の場合、指定された値がプレースホルダに代入されます。
テンプレート - 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>
スクリプト
<?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();
?>
This function can not be called statically.