[PHP-users 26913] Re: smarty での標準的な作り方を知りたい
陸奥
mutsu @ ruby.plala.or.jp
2005年 9月 17日 (土) 04:54:32 JST
陸奥です。
まずは前回の訂正。
「集中処理」->「集中管理」
confファイルのsectionを使う例を用意していたのですが、
こちらの方がコンポーネント化の例としてよさそうかなと。
> ・渡す変数名は各 tpl の名称と同じにし、連想配列で渡す。
> $Main = Array( "Event"=>$Event, "Latest"=>$Latest );
> $smarty->assign("Main", $Main);
register_*****
get_registered_object
辺りの事でしょうか?
assignでは無く、プラグインを使うとスッキリ?
> 次の課題は tpl 先で使いたい部品をどう定義して行くかです(^^;
> {RECTANGLE Data=$Event} みたいな。
function.rectangle.php----------------------------------
$smarty->plugins_dir = '/home/hoge/plugin/';
$smarty->register_block('rectangle','rectangle');
function rectangle($param, $contents) {
$t = $param['type'];
$bg = $param['bgcolor'];
$lcol = $param['linecolor'];
// $c = $param['col'];
if($t=='curve') {
print("<table bgcolor=$bg border=1 bordercolor=$lcol>");
print($contents);
print("</table>");
}
}
$smarty->display("rectangle.tpl");
rectangle.tpl-------------------------------------------
{rectangle type="curve" bgcolor="white" linecolor="orange" col="2"}
<TR><TD>9/15</TD><TD>今日は良い霧雨だ</TD></TR>
<TR><TD>9/16</TD><TD>今日は良い天気だ</TD></TR>
{/rectangle}
PHP-users メーリングリストの案内