Komponenten eines MetaModel

In den folgenden Kapiteln soll der Aufbau von MetaModels aufgezeigt werden, um die „Logik“ des Aufbaus der Erweiterung zu verstehen.

Zunächst eine Einordnung von zwei Begriffen: mit MetaModel (Singular) soll im Folgenden eine Datentabelle mit ihren Attributen, Ein-/Ausgabe-Möglichkeiten, Filtern usw. bezeichnet werden. Ein MetaModel wird in den folgenden Texten ohne „s“ geschrieben, auch wenn dies z.B. durch den Genitiv erforderlich wäre.

Der Begriff MetaModels (Plural) steht allein als Bezeichnung für das Erweiterungspaket für Contao.

Bevor man sich an die Erstellung komplexerer Datenstrukturen in MetaModels macht, sollte man sich unbedingt Gedanken über einen „eleganten“ Aufbau - insbesondere der Relationen der Models untereinander - machen. Dazu gibt es eine Übersichtsseite „Relationen in MetaModels“.

Nach dem Erstellen eines MetaModel stehen die folgenden Komponenten zur Bearbeitung zur Verfügung:

Bei der Erstellung eines (einfachen) MetaModel können die Komponenten in der aufgeführten Reihenfolge abgearbeitet werden. Mit zunehmender Komplexität des MetaModels - also im Zusammenspiel mehrerer MetaModel miteinander - kommt man nicht umhin, einzelne Eingaben in einem vorhandenen MetaModel weiter zu ergänzen oder abzuändern.

Für eine leichtere Übersicht wo was zu finden ist, gibt es den "MM-Lageplan" zum Download.

Mit der Erweiterung MetaModels erhält Contao jeweils zwei neue Inhaltselemente und Module für die Frontendausgabe. Mit dem Inhaltselement/Modul „MetaModel-Liste“ können Datensätze einzeln oder als Liste auf der Webseite ausgegeben werden und mit dem Inhaltselement/Modul „MetaModel-Frontendfilter“ steht ein Filter für das Frontend zur Verfügung - mehr dazu unter Inhaltselemente/Module für die Frontendausgabe.

Wie die einzelnen Templates zusammenwirken, ist auf der Seite zu den Templates in MetaModels aufgeführt.

MetaModels ist sehr gut auf die Arbeit mit mehrsprachigen Inhalten ausgerichtet - mehr zur Mehrsprachigkeit in MM.

Um einzelne Werte eines Datensatzes (Item) oder die Anzahl aller Datensätze im Contao-Kontext auszugeben, stehen verschiedene Insert-Tags zur Verfügung.