SessionComponentを使って一回限りの通知をユーザに対して表示する方法。アプリ内の随所で使う必要があるので、きちんと理解しておこう。
以下、クックブックからの抜粋。
基本形
1 2 |
// controllerにて $this->Session->setFlash('Your stuff has been saved.'); |
1 2 3 4 5 6 7 |
// view にて echo $this->Session->flash(); // このように出力されます <div id="flashMessage" class="message"> 保存しました </div> |
メッセージの種別(キー)を指定する
1 2 3 4 5 |
// bad message をセット $this->Session->setFlash('Something bad.', 'default', array(), 'bad'); // good message をセット $this->Session->setFlash('Something good.', 'default', array(), 'good'); |
1 2 3 |
// viewにて echo $this->Session->flash('good'); echo $this->Session->flash('bad'); |
メッセージのエレメントを指定する
1 |
$this->Session->setFlash('Something custom!', 'flash_custom'); |
1 2 |
// app/View/Elements/flash_custom.ctp <div id="myCustomFlash"><?php echo h($message); ?></div> |
参考サイト
通知メッセージの作成 | セッション — CakePHP Cookbook 2.x ドキュメント
http://book.cakephp.org/2.0/ja/core-libraries/components/sessions.html#SessionComponent::setFlash