■
smartyにまじかるちぇんじ、しちゃうんだから。!!
あ〜ん、もう、とってもsmartyなんだから。!!
<?php //Smatyライブラリ読み込み define('SMARTY_DIR', '/usr/share/php/smarty/'); require_once(SMARTY_DIR . 'Smarty.class.php'); //Smartyのインスタンスを作成 $smarty = new Smarty(); //各ディレクトリの指定 $smarty->template_dir = './templates/'; $smarty->compile_dir = './templates_c/'; $smarty->config_dir = './configs/'; $smarty->cache_dir = './cache/'; if ( $_POST["NENTUKIHIGW"] ) { $NENPW = substr($_POST["NENTUKIHIGW"], 0, 4) ; $TSUKIPW = substr($_POST["NENTUKIHIGW"], 4, 2) ; $MDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW - 1, 1,$NENPW)); $PDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW + 1, 1,$NENPW)); $HISUPW = date("d",mktime(0, 0, 0, $TSUKIPW + 1, 0, $NENPW )); } else { $NENPW = date("Y"); $TSUKIPW = date("m"); $MDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW-1, 1, $NENPW)); $PDATEPW = date("Ymd",mktime(0,0,0, $TSUKIPW+1, 1, $NENPW)); $HISUPW = date("d",mktime(0,0,0, $TSUKIPW+1, 0, $NENPW)); } $IPW = 1; $HIDPW = array(); while ($IPW <= $HISUPW){ $TSPW = mktime(0, 0, 0, $TSUKIPW, $IPW, $NENPW ); $YOUBIPW = date("w",$TSPW); if ( $YOUBIPW == 0 ){ $HIDPW[$IPW][0] = $IPW; $HIDPW[$IPW][1] = "#ff0000"; }elseif( $YOUBIPW == 6 ){ $HIDPW[$IPW][0] = $IPW; $HIDPW[$IPW][1] = "#0000ff"; }else{ $HIDPW[$IPW][0] = $IPW; $HIDPW[$IPW][1] = "#000000"; } ++$IPW; } //テンプレートの変数に値に割り当てる $smarty->assign("TITLEGW", "smCalendar"); $smarty->assign("NENGW", $NENPW); $smarty->assign("TSUKIGW", $TSUKIPW); $smarty->assign("PDATEGW", $PDATEPW); $smarty->assign("MDATEGW", $MDATEPW); $smarty->assign("HIDGW", $HIDPW); //テンプレートを指定し表示 $smarty->display("smCalendar.tpl"); ?>
ここからテンプレート
smCalendar.tpl---------------------------------------
<html> <head> <title>{$TITLEGW|escape}</title> {* テンプレート中のコメント *} {* javascriptなどはliteralの中に *} {literal} <script type="text/javascript" src="...js"></script> {/literal} </head> <body> <form method="POST" action="smCalendar.php" style="float: left;"> <input type="submit" value="<<"> <input type='hidden' name='NENTUKIHIGW' value='{$MDATEGW|escape}'> </form> <div style='color:#000000; border:1px solid #ccc; float: left;'> {$NENGW|escape} 年 {$TSUKIGW|escape} 月 </div> <form method="POST" action="smCalendar.php" style="float: left;"> <input type="submit" value=">>"> <input type='hidden' name='NENTUKIHIGW' value='{$PDATEGW|escape}'> </form> <br> <br> <br> {* 配列の利用 *} {foreach from=$HIDGW item=HIDPW } <div style="color:{$HIDPW[1]|escape}; border:1px solid #ccc; width: 20px; float: left;">{$HIDPW[0]|escape}</div> {foreachelse} 表示させるデータがありません。 {/foreach} </body> </html>