Contao: EFG – Übersicht / Zusammenfassung aller eingegebenen Formulardaten – Übersichtsseite

Die Erweiterung EFG ist an sich recht hübsch und bietet von Grund auf schon viele funktionen. Allerdings hat sie ein Handycap. Es ist nicht möglich die erfassten Daten noch einmal in einer Übersichtsseite zusammen zu fassen. Diesem Defizit und noch viel mehr können wir mit der Erweiterung Sessionform begegnen. Auch diese Erweiterung wurde seit geraumer Zeit nicht mehr aktualisiert, funktioniert aber auch in der Version 2.11.6 nach wie vor tadellos. 

  1. Installiert euch die Erweiterung. Wie immer besser aus dem Erweiterungskatalog mit Häkchen bei „inkompatible Erweiterungen anzeigen“ in den Systemeinstellungen
  2. Ihr bekommt nun einige neue Feldtypen in der Auswahl des Formulargenerators
  3. Interessieren soll uns nur der Eintrag „Text aus Session“

Der einfachste Weg ist nun folgender:

  1. Kopiert euch alle Felder, die ihr anzeigen wollt wie folgt
    1. Mehrere Bearbeiten
    2. Felder auswählen
    3. unten auf Kopieren
    4. dann an der gewünschten Stelle einfügen
  2. Dann wieder auf Mehrere Bearbeiten und die eben kopierten Felder markieren
    1. unten auf bearbeiten
    2. als Bearbeitungsfelder Feldname, Feldtyp und Feldbezeichner auswählen (letzeres nur zur besseren Übersicht)
    3. Daraufhin erscheint eine Übersicht aller ausgewählten Felder mit Feldname, Feldtyp und Feldbezeichner
    4. Dort alle Feldnamen das „(Kopie)“ entfernen. Darauf achten, dass nach dem Feldnamen kein Leerzeichen mehr ist
    5. Alle Feldtypen in Text aus Session umwandeln
    6. Speichern
  3. Nun werden die Werte der zuvor eingetragenen Formularfelder angezeigt
  4. Das ganze per CSS in Form bringen
Erklärung:
  • Der Feldname muss identisch mit dem Feldnamen sein, aus welchem der Wert bezogen wird. Contao generiert beim Kopieren inkompatible Feldnamen wie z.B. „name (Kopie)“. Diese können nicht einmal ohne Fehler (erneut) gespeichert werden, da in der Datenbank nur Feldnamen ohne Sonderzeichen wie das Freizeichen zugelassen sind. 
  • Das bedeutet: wenn ihr z.B. die Felder mit dem Namen „vorname“, „name“ in der Übersicht sehen wollt, müsst ihr die Feldtypen „Text aus Session“ identisch benennen. 
Einschränkungen:
  • leider wird bei dem Feldtyp „Text aus Session“ nur der Wert des Feldes angezeigt, nicht jedoch der Feldbezeichner (label). Ihr habt somit zwei Möglichkeiten
    • Ihr gebt die Bezeichner der Felder manuell im Formulargenerator an und passt die Darstellung via CSS an, oder
    • Ihr erzeugt eine Ableitung der Feldtypklasse und erstellt euch eure Ausgabe darin selbst. Das geht einmal hässlich ohne Template und einmal weniger hässlich mit einem eigenen Template. 

Eine saubere Lösung habe ich leider noch nicht gefunden, da die Template-Engine von Contao leider erst eine Hierarchie weiter oben ansetzt. Die Umsetzung der weniger hässlichen Variante folgt demnächst hier (darin erläutere ich auch kurz die hässliche Variante)