Validierung und Meldungen · Frage 9 von 12
Ein Backend-Modul ohne Extbase soll nach dem Speichern die Meldung „Gespeichert“ anzeigen. Wie legt man sie an?
1 Antwort ist richtig. Mittel
Lösung anzeigen
Lösung
- C Eine FlashMessage mit ContextualFeedbackSeverity::OK erzeugen und über FlashMessageService::getMessageQueueByIdentifier() in die Standard-Queue einreihen
Erklärung
addFlashMessage() gehört zum Extbase-ActionController. Ohne Extbase holt man sich den FlashMessageService per Dependency Injection, ruft getMessageQueueByIdentifier() ohne Argument auf (Standard-Queue core.template.flashMessages) und übergibt die Meldung mit enqueue() oder addMessage(). Soll sie einen Redirect überstehen, setzt man beim Erzeugen storeInSession auf true. Arbeitet das Modul mit dem ModuleTemplate, geht es kürzer mit $view->addFlashMessage(), das dieselbe Queue nutzt.