MVC et traitement des requêtes · Question 5 sur 12
Que faut-il pour afficher un message de succès après l'enregistrement d'un formulaire dans Extbase ?
2 réponses sont correctes. Facile
Afficher la solution
Solution
- A Afficher le ViewHelper <f:flashMessages /> dans le template Fluid
- B Ajouter le message dans le contrôleur avec $this->addFlashMessage()
Explication
Les flash messages sont des notifications à usage unique qui survivent aussi à une redirection. Dans le contrôleur, on les ajoute par exemple avec $this->addFlashMessage('Conference saved.', 'Success', ContextualFeedbackSeverity::OK), puis on redirige généralement avec redirect('list'). Par défaut, ils sont stockés dans la session, c'est pourquoi ils apparaissent sur la page cible après la redirection. Ils sont rendus dans le template avec <f:flashMessages /> – sans ce ViewHelper, le visiteur ne voit jamais le message. Un echo dans l'action ne fonctionne pas, car Extbase produit sa sortie exclusivement via l'objet réponse retourné.