最近Cakephpを少しい触っています。ところで完了画面やワーニング・エラー画面でメッセージを表示でflashを利用したら、下記のようなエラーが画面で出ています。
Notice (1024): Element Not Found: Elements/default.ctp [CORE/Cake/View/View.php, line 425]
コントローラ中で、$this->Session->setFlash(‘エラーメッセージ’,…)のように、ちゃんと正しく設定している。
更に調べたら、CakePHPのドキュメントにこう書かれています。
バージョン 2.7.0 で撤廃: フラッシュメッセージの作成には フラッシュ を使用すべきです。 setFlash() メソッドは、3.0.0 で削除されます。
ただ今利用しているcakePHPはバージョン2.9ですので、つまり、推奨しないメッソドを利用しているので、上記のエラーメッセージを出ている。
CakePHP3.xからは、$this->Flash->set(‘メッセージ’)のような推奨するメッソドです。
ですので、上記エラー解決ために、ソースコードは下記のように書き換えてください。
$this->Session->setFlash(‘エラーメッセージ’,…) ×
$this->Flash->set(‘メッセージ’) ○
$this->Flash->Success(‘成功メッセージ’) ○
$this->Flash->Failure(‘失敗メッセージ’) ○
$this->Flash->Warning(‘ワーニンングメッセージ’) ○
$this->Flash->YourCustmizeTpl(‘ワーニンングメッセージ’) ○
上記、Success、Failure、Warningなどは、/view/Elements/Flash/なかでsuccess.ctp、failure.ctpなどを作成してください。
最後、FlashComponetを利用するので、コントローラー中でコンポネット利用宣言してください。
public $components = array ('Flash' );
これで、Notice (1024): Element Not Found: Elements/default.ctp [CORE/Cake/View/View.php, line 425]エラーメッセージを解決しました。
【DEMO】
皆の出欠席手帳
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…