Eingabemasken
Bemerkung
Eingabemasken für Dateneingabe erstellen; Attribute hinzufügen, aktivieren und konfigurieren; optional Anzeigebedingung des Eingabefeldes definieren; Definition von Gruppierung und Sortierung der gespeicherten Items möglich
Einleitung
Zum Befüllen der Datenbank aus dem Backend sind Eingabemasken notwendig. Jede Eingabemaske kann die je MetaModel definierten Attribute als Eingabeelemente aufnehmen.
Für jedes MetaModel kann eine oder auch mehrere unterschiedliche Eingabemasken erstellt werden, die mit unterschiedlichen Attribut-Eingabefeldern bestückt sind. Damit können verschiedene Berechtigungen oder Workflows abgedeckt werden.
Die Erstellung der Eingabemasken teilt sich auch hier in die Grundeinstellungen der Eingabemaske, der Aktivierung der Attribute sowie der Auswahl der spezifischen Optionen der einzelnen Attribute wie z.B. Pflichtfeld, Anordnung, Validierung o.ä. Die meisten Einstellungsoptionen spiegeln die Möglichkeiten des „DCA“ des „Contao-Frameworks“ wieder (siehe DCA) Mehr zu den Optionen unter dem Punkt „Ablauf“.
Eines der wichtigsten Punkte bei den Grundeinstellungen ist die Auswahl der Option „Integration“ mit den Möglichkeiten „Unabhängig“ oder „Kind-Tabelle“. Mit „Unabhängig“ wird die Eingabemaske in einem der Navigationsblöcke in Contao eingegliedert und mit „Kind-Tabelle“ einer vorhandenen MetaModel- oder Contao-Tabelle zugeordnet.
Bei der Auswahl „Kind-Tabelle“ ist zu beachten, dass der „Render-Modus“ auf die Einstellung „Elternelement vorhanden“ gestellt werden muss, sofern eine eindeutige Zuordnung von Kind- Items zu einem Elternitem erfolgen soll. Anderenfalls sind alle Kindelitems bei allen Elternitems aufgelistet.
Die Anzeige des Eingabefeldes kann über weitere Steuerungsparameter beeinflusst werden. Jede Rendereinstellungen hat ein Bearbeitungsicon zur Erstellung von Abhängigkeiten der Anzeige bzw. Sichtbarkeit („Ansichtsbedingungen“). So kann ein oder mehrere Eingabefelder in der Eingabemaske nur sichtbar sein, wenn z.B. eine bestimmte Checkbox gesetzt ist.
Für jede Eingabemaske kann man ein oder mehrere Gruppierungen und Sortierungen für eine übersichtliche Darstellung der gespeicherten Items definieren.
Möchte man die Anzeige der Items in der Listenansicht als Baumstruktur bzw. Hierarchie, sind zwei grundlegende Einstellungen notwendig:
in Eigenschaften der Eingabemaske den „Render-Modus“ auf „Hierarchie“ (Tabellenansicht aus)
in Sortierung Eingabemaske eine Sortierung als Standard mit „Manuelle Sortierung aktivieren“
Optionen der Eingabemaske
Name:
BezeichnungPanel-Layout:
Konfiguration der Tools in der Kopfzeile: Suche, Sortieren, Filtern, Limit; für Suche und Filterung der Attribute muss die Option bei den Eingabewidgets gesetzt seinIntegration:
„Unabhängig“ mit Auswahl des Backendbereiches; „Als Kind-Tabelle“ mit Auswahl der Eltern-TabelleRender-Modus:
Ausgabemodus der Auflistung als „Eine Ebene (ohne Hierarchie)“ oder „Hierarchie“ bzw. bei Kind-Tabellen zusätzlich auch als „Elternelement vorhanden“Anzeige in Tabellenform:
Option zur Anzeige der Attribute als TabelleBearbeitung/Erstellen/Löschen erlauben:
Freigabe zum Ändern, Erstellen, Löschen von Eingaben
Optionen der Eingabefeldes
Typ:
Legende: Unterteilung des Eingabepanels („Grüne Linie“)
Attribut: Anzeige der AttributoptionenFunktionsbezogene Einstellungen:
Aktivierung von „nur lesen“ oder „Pflichtfeld“
weitere Optionen je nach Attributtyp z. B. Eingabevalidierung, TinyMCE-Aktivierung usw.Anzeigeoptionen:
Angabe der Contao-CSS-Backendklassen z.B. „w50“ für eine 50%-BreiteAuflistung, Filterung und Sortierung im Backend:
Checkboxen für Filterbar und/oder Suchbar - abhängig vom Attribusttyp
Optionen der Anzeigebedingungen des Eingabewidgets
Typ:
Typ der Anzeigebedingungen: UND/ODER/NOT zur Verknüpfung bzw. Abhängigkeit per Eigenschaft von anderen AttributenAttribut/Wert
Auswahl bei Abhängigkeit zu einem anderen Attribut
Optionen der Gruppierung und Sortierung
Name:
BezeichnungManuelle Sortierung aktivieren:
wenn der Wert gesetzt ist, können die Items manuell sortiert werden; ist die Checkbox nicht gesetzt, können folgende Optionen gesetzt werden:Attribut der Gruppierung:
Auswahl des Attributes, nach dem Gruppiert werden sollGruppierungslänge:
Die Anzahl an Buchstaben, welche für die Gruppierung eingesetzt wird (wenn Gruppierungstyp gesetzt)Gruppierungstyp:
Gruppierungstyp wie nach Anfangsbuchstabe oder auch nach Zeitraum wie Woche, MonatSorting attribute:
Auswahl des Attributes, nach dem Sortiert werden soll (ggf. innerhalb einer Gruppierung)Sorting direction:
Sortierrichtung: Aufsteigend (ASC) oder Absteigend (DESC)
Über einen Sprachschlüssel kann die Anzeige für die Gruppierung nach Woche individualisiert werden. Mit $GLOBALS['TL_LANG']['MSC']['week_format'] = 'K\W W. Y';
wird z.B. die Ausgabe KW 43. 2023
erzeugt (es wird die PHP Datumsformatierung verwendet, das erste W
wird mit einem \
escaped, um es auszugeben statt für die PHP Datumsformatierung zu nutzen).
Ablauf
Eine neue Eingabe für die Einstellung der Eingabemaske wird über „ Neue Eingabemaske“ geöffnet. Nachdem alle notwendigen Optionen eingetragen bzw. ausgewählt sind, wird die Einstellung gespeichert und erscheint in der Liste der vorhandenen Eingabemasken eines MetaModels.
Neben dem „ Stifticon“ existiert das Icon für die „ Einstellungen der Eingabemaske“. Mit Klick auf das Icon öffnet sich eine Auflistung mit den zur Eingabemaske aktivierten Attributen. Sind keine Attribute vorhanden, bzw. müssen welche hinzugefügt werden, kann das über das Icon „ Alle hinzufügen“ erfolgen - alternativ über „ Neu“. Bei dem Weg über „Alle hinzufügen“ muss zweimal eine Bestätigung erfolgen.
Anschließend stehen die Attribute der Eingabemaske zur Verfügung und müssen ggf. noch aktiviert werden.
Bei den einzelnen Attributen kann das zu verwendende Template geändert und/oder eine spezielle CSS-Klasse eingetragen werden (“ Bearbeiten“).
Über „ Anzeigebedingungen“ ist die Sichtbarkeit des Eingabewidgets in der Eingabemaske einstellbar.
Anschließend können in der Listenansicht der Eingabemasken über das Icon „ Sortierung und Gruppierung“ verschiedene Einträge für die Sortierung und Gruppierung der gespeicherten Items angelegt werden.