Thcalendar ヘルパー

CakePHPでカレンダーの表示サポートをするヘルパーです。
Thcalendarでは当ブログでも表示されているようなカレンダー形式を自動表示します。
実は以前にも同様の機能をコンポーネントで作成したことがあったのですが、
使い勝手を考えたところヘルパーで問題無いと思い再作成しました。
また、実用性は少ないと思いますが祝日判定機能も有しています。

ダウンロードは下記リンクよりダウンロードしてください。

Thcalendar v1.0.0

利用方法

1. コントローラーにThcalendarヘルパーを追加してください。

var $helpers = array('Html', 'Form', 'Thcalendar');

2. ビューでの基本的な記述は以下です。

echo $thcalendar->calender();

「calender()」関数には引数はありません。
変わりに事前に設定を指定することで表示を変更することが可能となります。
次の指定が可能です。

1.月の表示数を設定することが可能です。
基本は当月を自動取得して、当月のみをカレンダーとして表示します。
しかしこのヘルパーでは表示する範囲を指定することができます。
例えば当月が12月の場合で開始を3ヶ月前、終了を1ヶ月後を表示したい場合
次のようにヘルパーに指定することで実現可能となります

$thcalendar->prevMonth=-3;
$thcalendar->nextMonth=1;

こうすることで、「9月」から「1月」までのカレンダーが表示されます。

2.日付ごとのテキスト追加
任意の日付ごとにテキストを追加することができます。
用途としては「休日」や「営業」といったテキストを追加することが可能です。
例えば「2009年12月25日」に「クリスマス」とテキストを追加したい場合は次のように
指定します。

$thcalendar->dayText=array('2009-12-25'=>'クリスマス');

例のように配列のキーに対象の日付(YYY-mm-dd)、値に表示するテキストを格納することで
自動でテキストが追加されます。

3.日付ごとにリンク機能を追加
任意の日付の数字にリンク機能を追加できます。
用途としては任意の日付をクリックした場合に指定URLにリンクすることができます。
指定方法は次のようになります。

$thcalendar->dayLink=array('2009-12-01'=>array());

配列のキーに対象の日付(YYY-mm-dd)、値にはさらに配列を格納します。
値の配列は次のように構成されています。

array(
     'url'=>array(),//CakePHPのHTMLヘルパー「$html->link()」URL指定と同一です。
     'option'=>array()//CakePHPのHTMLヘルパー「$html->link()」オプション指定と同一です。
);

4.祝日判定機能
祝日の場合に対象の祝日名を追加テキストと自動表示することが可能です。
祝日のテキストを表示する場合は次の設定を変更することで指定します。
※基本値は「true」

$thcalendar->holidayCheck=true;//非表示の場合は「false」

その他の関数として次の関数があります。

・next($neme,$htmlOption)
これはカレンダーのページング機能(月送り)をの一部で、「次へ」の機能になります。
第1引数には表示テキストを指定、第2引数にはリンクのHTMLオプションを指定します。
第1引数に指定していない場合は「__(‘next calender’)」が適用されます。
また、月送りの間隔は「$thcalendar->moveMonth」に間隔数を指定することが可能です。
※基本値は「1」です。

・prev($neme,$htmlOption)
これはカレンダーのページング機能をの一部で、「前へ」の機能になります。
第1引数には表示テキストを指定、第2引数にはリンクのHTMLオプションを指定します。
第1引数に指定していない場合は「__(‘prev calender’)」が適用されます。
また、月送りの間隔は「$thcalendar->moveMonth」に間隔数を指定することが可能です。
※基本値は「1」です。

ご不明点、またはご要望等ありましたら、ご連絡いただけたら幸いです。