在CakePHP 2.0,我可以通過使用檢查是否存在快閃消息CakePHP的3.0閃存消息
if($session->check('Message.flash')){...}
據我所知,在CakePHP中3.0,我讀doc,我可以檢查是否存在通過使用閃光消息
佈局
echo $this->Flash->render('auth');
模板/用戶/登錄
echo $this->Flash->render();
if($this->request->is('flash')){...}else{...}
但在我看來是當我添加上面的條件沒有顯示任何東西。我的控制器代碼低於
$this->Flash->error('The email address and/or password you specified are not correct.');
return $this->redirect(array('controller'=>'users', 'action' => 'login'));
任何人都可以指向我還有什麼缺失?我想檢查是否在CakePHP 3.0中顯示了一條Flash消息。謝謝。
我不知道我理解你爲什麼要檢查是否有一個提示信息?爲什麼不只是使用代碼來顯示它,如果它在那裏?另外,('flash')將被用於控制器中,並且用於檢測生成請求的用戶代理是否爲Flash,而不是您使用它的目的。 –
感謝您的回覆。我想在登錄頁面顯示一條默認消息。如果出現閃光消息,我想用閃光消息替換默認消息。因此,我想在視圖中進行狀態檢查。不過,我可以在CakePHP 2.0中實現它。 – DANLEE
通常,您會在Controller或其他地方檢查條件,然後根據結果設置Flash消息。然後,您只需顯示所需的Flash信息。最好將邏輯放在視圖之外以及它所屬的位置。 –