This document is for CakePHP's development version, which can be significantly different
from previous releases.
You may want to read
current stable release documentation instead.
FlashHelper fournit une façon de rendre les messages flash qui sont définis dans
$_SESSION
par FlashComponent.
FlashComponent et FlashHelper
utilisent principalement des elements pour rendre les messages flash. Les
elements flash se trouvent dans le répertoire templates/element/flash.
Vous remarquerez que le template de l’App de CakePHP est livré avec trois
éléments flash : success.php, default.php et error.php.
Pour rendre un message flash, vous pouvez simplement utiliser la méthode
render()
du FlashHelper:
<?= $this->Flash->render() ?>
Par défaut, CakePHP utilise une clé « flash » pour les messages flash dans une session. Mais si vous spécifiez une clé lors de la définition du message flash dans FlashComponent, vous pouvez spécifier la clé flash à rendre:
<?= $this->Flash->render('other') ?>
Vous pouvez aussi surcharger toutes les options qui sont définies dans FlashComponent:
// Dans votre Controller
$this->Flash->set('The user has been saved.', [
'element' => 'success'
]);
// Dans votre View: Va utiliser great_success.php au lieu de succcess.php
<?= $this->Flash->render('flash', [
'element' => 'great_success'
]);
Note
Quand vous construisez vos propres templates de messages flash, assurez- vous de correctement encoder les données utilisateurs. CakePHP n’échappera pas les paramètres passés aux templates des messages flash pour vous.
Pour plus d’informations sur le tableau d’options disponibles, consultez la section FlashComponent.
Si vous avez configuré un préfixe de Routage, vous pouvez maintenant stocker vos elements de messages Flash dans templates/{Prefix}/element/flash. De cette manière, vous pouvez avoir des layouts de messages spécifiques en fonction des différentes parties de votre application : par exemple, avoir des layouts différents pour votre front-end et votre administration.
FlashHelper utilise des elements normaux pour afficher les messages et va donc correspondre à n’importe quel thème que vous avez éventuellement spécifié. Donc quand votre thème a un fichier templates/element/flash/error.php, il sera utilisé, comme avec tout Element et View.