/messagetoolbox

Primary LanguagePHPGNU Lesser General Public License v3.0LGPL-3.0

MessageToolbox

PHP >= 8.0 Tested with Contao 4.13 | 5.1 PHPStan Level 9

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

Lizenz

Die Software wird unter LGPL-v3 veröffentlicht. Details sind in der Datei LICENSE zu finden.

Voraussetzungen

  • php: ~8.0
  • contao/core-bundle: ~4.13|^5.1

Installtion

Die Erweiterung kann einfach über den ContaoManager installiert werden. Einfach nach esit/messagetoolbox suchen und installieren.

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.