Extbase - Flash Message: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 7: Zeile 7:
  
 
== Kurzübersicht aus t3-developer.com ==
 
== Kurzübersicht aus t3-developer.com ==
Hinweis: Namespace schreibweise verwenden \TYPO3\CMS\Core\Messaging\AbstractMessage:: statt t3lib_Flashmessage
+
Hinweis: Namespace schreibweise verwenden  
 +
<pre>
 +
//so
 +
\TYPO3\CMS\Core\Messaging\AbstractMessage:: ...
 +
// NICHT
 +
t3lib_Flashmessage::
 +
</pre>
  
 
http://t3-developer.com/extbase-fluid/cheats-extbase/controller/flash-messages/ (2015-06)
 
http://t3-developer.com/extbase-fluid/cheats-extbase/controller/flash-messages/ (2015-06)

Version vom 26. Juni 2015, 16:12 Uhr

Flash Messages sind Systemnachrichten die man sowohl im Backend als auch im Frontend ausgeben kann.

Siehe auch:

http://blog.sbtheke.de/


Kurzübersicht aus t3-developer.com

Hinweis: Namespace schreibweise verwenden

//so
 \TYPO3\CMS\Core\Messaging\AbstractMessage:: ... 
// NICHT
 t3lib_Flashmessage::

http://t3-developer.com/extbase-fluid/cheats-extbase/controller/flash-messages/ (2015-06)

Flash Message Container in Extbase und Fluid

Insgesamt stehen 5 verschiedene Message Klassen zur Verfügung die mit folgendem Code angesprochen werden:

 t3lib_Flashmessage::NOTICE
 t3lib_Flashmessage::INFO
 t3lib_Flashmessage::OK
 t3lib_Flashmessage::WARNING
 t3lib_Flashmessage::ERROR

Nutzt man FlashMessages im Backend, rendert Typo3 direkt die bekannten Kästen (siehe Abbildung). Im Frontend kann man die Klassen im eigenem Stylesheet ansprechen.

Optional kann inzwischen auch ein Titel für jede Nachricht vergeben werden. Im Controller sieht das ganze dann so aus:

//löscht die Standard Nachrichten aus der Messagequeue
$this->flashMessages->flush(); 

// eigene Message setzten, "NOTICE" setzt hier den grauen Ausgabekasten im BE
$this->flashMessageContainer->add('Message Text','Titel optional', t3lib_Flashmessage::NOTICE); 
$this->view->assign ...

Im View werden die FlashMessages dann durch

 <f:flashMessages />

aufgerufen. Dieser erzeugt standardmäßig eine unsortierte Liste mit <ul><li>

Mit dem Aufruf

 <f:flashMessages renderMode="div" />

werden die Messages (sofern mehrere in der Queue sind) mit divs gerendert.

Und im Frontend?

Wenn man die Message um die "t3lib_Flashmessage::NOTICE" ergänzt, erhalten die div's der Message eine entsprechende Klasse, zum Beispiel:

<div class="typo3-messages">
    <div class="typo3-message message-notice">
        <div class="message-header">Titel optional Text</div>
        <div class="message-body">Message Text</div>
    </div>
</div>

Anhand der div Class kann so ein individuelles Styling in Abhängigkeit der gewälten t3lib_Flashmessage erstellt werden.