Bonjour,
Je galère avec cette refonte (pourrie ?) du composant/helper Flash.
Dans mon AppController, j’effectue cela (juste afin de tester avant de faire la suite) :
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
if (isset($this->request->params['prefix']) && $this->request->params['prefix'] === "admin") {
$this->Flash->error("Vous n'êtes pas autorisé à accéder à cette partie du site.");
return $this->redirect(['_name' => 'route-home']);
}
}
Je suis bien redirigé sur ma route mais le message Flash ne s'affiche pas...
J'imagine que cela vient de la redirection mais sur la version 2, ça ne posait pas de soucis !!
J'ai regardé la documentation, je n'ai rien vu par rapport à cela.
PS : J'ai bien $this->Flash->render() dans mon default layout (ainsi que dans ma vue home).
De plus, les messages Flash ne disparaissent plus automatiquement ??!
Merci d'avance pour vos éclaircissements.
Bonsoir.
C'est normal, tu dois faire ton message Flash dans une action qui correspond à une vue et non dans un Callback.
Ensuite, les messages Flash ne sont supprimé que lorsqu'il sont affiché dans une vue.
Donc, tant que ton message Flash ne sera pas affiché, il ne sera pas supprimé.
Donc, un conseil, si tu veux faire un test, mets le plutôt dans une action du genre index par exemple et non dans un Callback.