patrickfroch / messagetoolbox
Mit dieser Toolbox können Rückmeldungen an den Nutzer einer Seite im Frontend ausgegeben werden. Die Meldungen werden in der Session zwischengespeichert und können z.B. nach dem Redirect beim Speichern eines Formulars ausgegeben werden.
Package info
github.com/patrickfroch/messagetoolbox
Type:contao-bundle
pkg:composer/patrickfroch/messagetoolbox
Requires
- php: ^8.1
- contao/core-bundle: ~4.13|^5.0
Requires (Dev)
- contao/test-case: ~4.13|^5.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^9.5|^12.0
- squizlabs/php_codesniffer: ^4.0
- symplify/easy-coding-standard: ^13.0
README
Beschreibung
Mit dieser Toolbox können Rückmeldungen an den Nutzer einer Seite im Frontend ausgegeben werden. Die Meldungen werden in der Session zwischengespeichert und können z.B. nach dem Redirect beim Speichern eines Formulars ausgegeben werden.
Autor
Patrick Froch hallo@patrick-froch.de
Lizenz
Die Software wird unter LGPL-v3 veröffentlicht. Details sind in der Datei LICENSE zu finden.
Voraussetzungen
- php: ~8.1
- contao/core-bundle: ~4.13|^5.0
Installation
Die Installation geschieht über den ContaoManager. Einfach nach esit/messagetoolbox suchen und installieren.
Aleternativ kann die Erweiterung mit folgendem Befehl über Composer installiert werden:
composer require esit/messagetoolbox
Getestete Versionen
Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:
| Contao | ||||
|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ |
Verwendung
<?php class MyClass { public function __constructor() { $this->sessMsg = \Contao\System::getContainer()->get(\Esit\Messagetoolbox\Classes\Services\SessionMessage::class); } public function setMessage() { $this->sessMsg->addMessage('languageKey_or_message'); } public function getMessages() { $sm = \Contao\System::getContainer()->get(\Esit\Messagetoolbox\Classes\Services\SessionMessage::class); $messages = $this->sessMsg->getMessages(); $this->sessMsg->deleteMessages(); // Delete all Messages! var_dump($messages); // Array of Messages! } public function outputMessages() { echo $this->sessMsg->ouput(); // Output string with default template AND DELETES ALL MESSAGES! } }
Inhaltselement
Für die Ausgabe steht auch ein Inhaltselement zur Verfügung. Dies kann ganz normal in einen Artikel eingebunden werden. Es gibt die Messages aus und löscht dann die Meldungen, damit sie nicht mehrfach ausgegeben werden können.
Übersetzung der Ausgabe
Die Übersetzung der Ausgabe steht in der Sprachdatei default.php:
$GLOBALS['TL_LANG']['MSC']['messagetoolbox']['output']['languageKey_or_message'] = 'Toller Nachrichtentext!';
Ist für den mit $sm->addMessage('languageKey_or_message'); gesetzten Key ein Eineintrag in
$GLOBALS['TL_LANG']['MSC']['messagetoolbox']['output'] vorganden, wird dieser im Standardtemplate ausgegeben.