Posted on

wdCalendarをCakePHPに組み込んでみる

以前紹介した記事「wdCalendarを日本語で使ってみる」で日本語化したwdCalendarをCakePHPに組み込んでみたので紹介します。

それから少し改造ということで、登録できるフィールドを追加してみるのと、ログインした人のidを基に誰が登録した予定なのかを持たせるようにしました。

実際の見た目はコチラ


まずCakePHPに組み込むに当たりカレンダー情報を保存しておくテーブルをシステムと同じところにおいて、calendersテーブルとして登録しておき、Calenderモデルを用意しておきます。

次にcalender_controllers.phpを作ってカレンダー一覧index()と詳細edit()画面のアクションを用意します。
カレンダー用のlayoutをcalender.tplとして用意しておいて、カレンダー一覧index()と詳細edit()画面のviewを作ります。
ビューを載せておきます。
calender.tpl

index.tpl

edit.tpl

ビューを作ったらJQueryで読み込むデータの取得部分を作ります。
calender_controller.phpにgetCalender()関数を作って、datafeed.phpのデータ処理の記述を書いておきます。datafeed.phpにあった関数群もcalender_controller.phpに入れておいてあげます。calender_controller.phpの内容は次のようになります、

calender_controller.php

データーベースへの命令部分はCalenderモデル経由で行うようにしているのと、データを登録するときにログイン情報を持たして登録しています。
サンプルを落とした時についていたfunctions.phpの関数はbootstrap.phpに置いて呼び出しています。

これでwdCalendarをCakePHPに組み込めました。