参考にさせて頂いたページ
セッション — CakePHP Cookbook 2.x ドキュメント
View/Elements/Modules/mod-flash-message-0001.ctpの作成とその記述内容
例として以下の通り。
<div class="mod-flash-message-0001 <?php echo $class; ?>"> <?php echo $message; ?> </div>
$this->Session->setFlash()の第三引数まで指定する方法で出力する場合
任意のControllerの中に記述する内容
例として、indexアクションに以下のように記述する。
色やメッセージを出し分ける場合はif文とか使って、setするオプションを変更すれば良さそう。
public function index(){ $this->Session->setFlash( 'メッセージ',// Elementsの中で$messageとして使用される文字列 '/Modules/mod-flash-message-0001',// View/Elements内のどのctpを使用するかを指定 array( // Elements内で使用できる変数を追加(この場合は$classが使えるようになる) 'class' => 'example_class' ) ); }
index.ctpの中に記述する内容
View側では引数を与えずに以下のように記述する。
<?php echo $this->Session->flash(); ?>
$this->Session->setFlash()の第四引数まで指定する方法で出力する場合
任意のControllerの中に記述する内容
例として、indexアクションに以下のように記述する。
public function index(){ // 正常完了時に表示したい内容の設定 $this->Session->setFlash( '正常完了時のメッセージ',// Elementsの中で$messageとして使用される文字列 '/Modules/mod-flash-message-0001',// View/Elements内のどのctpを使用するかを指定 array( // Elements内で使用できる変数を追加(この場合は$classが使えるようになる) 'class' => 'example_class' ), 'good'// View側で渡す識別キー文字列 ); // エラー時に表示したい内容の設定 $this->Session->setFlash( 'エラー時のメッセージ', '/Modules/mod-flash-message-0001', array( 'class' => 'example_class' ), 'bad' ); }
index.ctpの中に記述する内容
Controllerの第四引数に設定した文字列と同じものを、以下のようにView側で与える事によって出し分けが可能。
<?php echo $this->Session->flash('good'); echo $this->Session->flash('bad'); ?>