Artikel
von Patrick Froch

Manchmal möchte man im Contao-Backend eine Seite ausgeben, die keine direkte Beziehung zu einer Tabelle hat. Sei es wie bei der Systemwartung oder einfach nur eine Hilfeseite. In diesem Beitrag wird letzteres beispielhaft umgesetzt.

Ordnerstruktur

Wir benötigen für die Ausgabe natürlich einige Ordner und Dateien. Ich habe die Struktur hier einmal abgebildet und werde nun nach und nach den Aufbau erläutern.

Autoload

Zunächst legen wir den Autoload-Eintrag für die Ausgabeklasse und das Template in der Datei system/modules/easy_page/config/autoload.php an.

Konfiguration

Nun erstellen wir die Konfiguration für unsere Backend-Seite (system/modules/easy_page/config/config.php). Es ist fast wie ein normaler Backend-Eintrag, nur dass es keine Tabelle gibt, sondern eine Callback-Methode.

Sprachdatei

Damit der Menüpunkt nun auch in deutsch angezeigt wird, erstellen wir die entsprechende Sprachdatei (system/modules/easy_page/languages/de/modules.php).

Ausgabe

Jetzt fehlt nur noch die Klasse für die Ausgabe. Wir speichern folgendes in der Datei system/modules/easy_page/classes/contao/EasyPage.php.

Ich habe mich entschieden in der Klasse nur ein Template zu nutzen, um die Ausgabe zu erzeugen. So kann man zwar die Hilfeseite nicht übersetzen, aber den ganzen Text in eine Sprachdatei zu stecken, fand ich auch nicht gut. Es wäre aber zum Beispiel auch möglich unterschiedliche Templates für die einzelnen Sprachen anzulegen und entsprechend der eingestellten Sprache zu laden.

Template

Als letztes benötigen wir noch das Template mit der Ausgabe (system/modules/easy_page/templates/help.html5).

Hier wird nur ein Blindtext ausgegeben, man könnte aber ebenso gut beliebige Programmabläufe verarbeiten (wie bei der Systemwartung) oder Formulare ausgeben.

Ergebnis

Das Ergebnis könnte dann ungefähr so aussehen:

Backend

Zurück

Kommentare

Aufgrund der unklaren Rechtslage durch die DSGV habe ich mich entschlossen, die Kommentare bis auf Weiteres zu deaktivieren.