[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 メーリングリストの案内