piCalは、とっても素晴らしいモジュールでいろんなことを想定した表示の仕方をされているのですが、私がよく受ける仕事では、「月ごとのイベント」はカレンダー方式よりも、あるイベントだけを表示させるということが多いのです(画像参照)
piCalで、表示のさせ方によってデータを取ってくる方法を指定しているのは、
index.phpのL170あたりからのswitch($smode)から。
ここに、以下のようにモードを付け加えました。
ツꀀツꀀcase ‘Month’ :
ツꀀツꀀツꀀecho $cal->get_monthly( ”,”, 0 ,1) ;
ツꀀツꀀツꀀbreak ;
ただ、このmonthlyの最後の「1」は、付け加えたものです。
get_monthlyは、class/piCal.phpにいます。
L724あたりを変更します。
function get_monthly( $get_target = ” , $query_string = ” , $for_print = false , $caldesign = 0)
太字の部分を追加しました。
そのあと、L731あたりの、$tmpl = new PatTemplate() ;
の下を
ツꀀif($caldesign){
ツꀀツꀀ$tmpl->readTemplatesFromFile( “$this->images_path/monthly2.tmpl.html” ) ;
ツꀀ}else{
ツꀀツꀀ$tmpl->readTemplatesFromFile( “$this->images_path/monthly.tmpl.html” ) ;
ツꀀ}
と変更します。
これは、$caldesign=1の場合は、テンプレートを、monthly2.tmpl.html(imagesのdefaultにmonthly.tmpl.htmlをコピーして作ります)を読んでねという指示です。
そのmonthly2.tmpl.htmlでは、カレンダー部分の呼び出しを
{CALENDAR_BODY2}
に変更します。
このCALENDAR_BODY2は、新しくスクリプトを追加します。
piCal.phpのL760あたりに
ツꀀ$tmpl->addVar( “WholeBoard” , “CALENDAR_BODY” , $this->get_monthly_html( $get_target , $query_string ) ) ;
とあるので、
$tmpl->addVar( “WholeBoard” , “CALENDAR_BODY2” , $this->get_month_html( $get_target , $query_string ) ) ;
と追加。
あとは、
function get_monthly_htmlを参考に、
function get_month_htmlを好きなように作成します。
まぁ、バージョンアップ時には要注意な変更の仕方ですが・・・・・・。
コメントを残す