Umfangreiche Features machen MetaModels zu einem flexibel einsetzbarem Tool.

MetaModels Komponenten im Überblick

Für die Umsetzung der eigenen Datenmodelle in Contao mit MetaModels stehen verschiedene Komponenten zur Verfügung. Im Folgenden sind die drei Komponenten Attribute, Relationen, Filter herausgegriffen, um einen Eindruck über die Vielseitigkeit von MetaModels zu verschaffen - detaillierter sind die Informationen im Handbuch nachzulesen.

Attribute

Die Komponente “Attribute” ist eine der grundlegendsten Einstellung in einem MetaModel. Mit den Attributen werden die eigenen, spezifischen Datenfelder definiert und in der Datenbanktabelle als Spalten angelegt (siehe Handbuch).

In MetaModels stehen die folgenden Attribute als "Datentypen" als ein- oder mehrsprachige Variante zur Verfügung:

  • Alias, übersetzter Alias: Alias-Feld z.B. für URLs
  • Auswahl (Select): Relation (1:n) zu einem weiteren MetaModel oder Contao-Tabelle
  • Datei, übersetzte Datei: Dateipicker
  • Datum: Datum bzw. Datum und Uhrzeit
  • Dezimal: Dezimalzahlen (Float)
  • Kombinierte Einträge, übersetzte kombinierte Einträge: Kombination verschiedener Attribute
  • Kontrollkästchen (Checkbox), übersetzte Checkbox: einzelne Checkbox für Boolsche-Werte
  • Land: Länderauswahl
  • Langtext, übersetzter Langtext: Texteingabe, optional mit Rich-Text-Editor
  • Mehrfachauswahl (Checkboxen): Relation (m:n) zu einem weiteren MetaModel oder Contao-Tabelle
  • Numerisch: Eingabe von ganzzahligen Werten (Integer)
  • Sprachschlüssel: Auswahl von ISO-Sprachcodes
  • Text, übersetzter Text: einfaches Textfeld
  • Text-Tabelle, übersetzte Text-Tabelle: Eingabe von Werten als Tabelle
  • URL, übersetzte URL: Linktext und URL

Weiterhin gibt es verschiedene Attribute, die vom MM-Team oder anderen Programmierern zur Verfügung gestellt werden - z.B.:

  • Bewertung: Bewertungsmodul mit Sternen
  • Color-Picker: Auswahl von Webfarben und Transparenz
  • Encryptedtext: Verschlüsselung von Textfeldern
  • Levenshtein: Wortsuche nach Levenshtein
  • Multi-Attribut-Liste, übersetzte Multi-Attribut-Liste (MCW): Tabelle mit flexibler Anzahl der Elemente und Auswahl an Attributtypen

Relationen

Für einen flexiblen und normalisierten Aufbau einer Datenstruktur können die verschiedenen MetaModels miteinander verknüpft werden. Ebenso ist die Einbindung anderer in Contao vorhandene Tabellen möglich sowie die Relation innerhalb eines MetaModels.

Mögliche Typen sind:

  • 1:n-Relation - Attribut Auswahl (Select), Verknüpfung zu einem weiteren MetaModel oder Contao-Tabelle; die Auflösung einer Mehrsprachigkeit erfolgt bei einem MetaModel automatisch
  • m:n-Relation - Mehrfachauswahl (Checkboxen), Verknüpfung zu einem weiteren MetaModel oder Contao-Tabelle; die Auflösung einer Mehrsprachigkeit erfolgt bei einem MetaModel automatisch
  • 1:n-Relation - Kind-Tabelle: Zuordnung eines MetaModel zu einem vorhandenem MetaModel oder Contao-Tabelle "per pid"
  • 1:n-Relation - Varianten: Zuordnung von Datensätzen innerhalb eines MetaModels als Hierarchie in einer Ebene
  • 1:n-Relation - Hierarchie (Tree): Zuordnung von Datensätzen innerhalb eines MetaModels als Hierarchie in beliebiger Ebenentiefe

Filter

Neben dem Aufbau der Datenbankstruktur über die Attribute und Relationen, ist die Filterung bei einer Ausgabe im Frontend eine der grundlegenden Forderungen. MetaModels stellt einen eigenen Bereich für den Ausbau von Filtern zur Verfügung - mehr dazu ist im Handbuch beschrieben.

Als ersten Überblick die Filter, die für die Konfiguration im Frontend zur Verfügung stehen:

  • Einfache Abfrage: erzeugt eine Filterung nach einem Attribut; für die Filterung kann ein URL-Parameter angegeben werden; mit Option “Statischer Parameter” kann in den Inhaltselementen/FE-Modulen aus einer Select-Liste ein Wert zum Filtern aktiviert werden
  • Einzelauswahl: einzelne Auswahl eines Wertes z.B. einer Select-Liste
  • Mehrfachauswahl: mehrfache Auswahl von Werten z.B. einer Select-Liste
  • Ja / Nein: Ja/Nein-Auswahl z.B. als Radio-Buttons
  • Wert von/bis: von/bis-Auswahl für Werte
  • Wert von/bis für Datum: von/bis-Auswahl für Datum
  • 2 Felder mit Werten: zwei Felder mit Werten
  • 2 Felder mit Werten für Datum: zwei Felder mit Werten für Datum
  • Textfilter: filtert nach einer Texteingabe, verschiedene Optionen einstellbar

Im Backend können die Filterregeln kombiniert werden mit z.B.:

  • Eigenes SQL: eigene SQL-Bedingungen zur Filterung
  • ODER-Bedingung (OR)
  • UND-Bedingung (AND)
  • Veröffentlichungsstatus: prüft ein Attributwert auf 1
  • Vordefiniertes Itemset: Eingabe einer Liste mit IDs, nach denen gefiltert werden soll

Weiterhin gibt es verschiedene Filter, die vom MM-Team oder anderen Programmierern zur Verfügung gestellt werden - z.B.:

  • Filterbedingung nach Mitgliedergruppe
  • Levenshtein: Wortsuche nach Levenshtein
  • Register: Buchstabenregister als Filtervorgabe
  • Umkreissuche (Perimeterseach): Filterung nach Geoposition eines Datensatzes