CakePHP3の構造になれるためにサンプルコードを増やしています。
カレンダーがサイトにあるといろいろ重宝しそうですよね。もちろん、こういったものは先人が用意してくれているはずですので調べてみます。
すると、FullCalendar というJavascriptで出来たカレンダーをCakePHP3に組み込むプラグイン「CakePHP-Full-Calendar-Plugin」が見つかったので、そちらをを使わせてもらうことにしました。プラグインはこちらから入手できます。(CakePHP2用と間違えないように。)
READMEに「INSTALLED IN 6 SIMPLE STEPS」と書いてありますが、プラグインをロードするときにプラグインのroutes.php を読み込むよう指定しているので、実際は5ステップ目はいらないと思われます。さくっとインストールして指示の通り event_typeを登録してからeventを登録しますが、、、表示されない!
Chromeのデベロッパーツールなんかを見ながらソースを追ってみると、EventsControllerのfeedメソッドでJSON形式のデータを返すべきところで配列(というかArray()っていう素っ気ないアレ)が返されてしまっているっぽい。こういう時はGoogle先生に訊くか本家サイトでドキュメントをを見るべし、ということで見てみたら、CakePHPでJSONを扱うにはRequestHandlerをロードせよ、とのことだったのでAppControllerに追記。おー、表示された。あれ?終日の予定の表示がヘン、、、。
再びプラグインのソース追っかけてみたところ、同じくEventsControllerのfeedメソッドで終日の予定を判定する時に比較を「===」で行っているところで判定できていないっぽい。「==」に修正したら正しく表示されました(^_^)v。こんな修正でよかったかはあとできちんと調べよう。