MetaModels Beispiel 1

Aus Contao Community Documentation


Aufgabenstellung: Backend einrichten

Wir bauen eine einfache Musikbox, wo wir Musikstücke mit gewissen Attribute ("Eigenschaften") erfassen möchten. Zu diesem Zweck bauen wir zuerst das Backend auf. Hierzu brauchen wir eine Übersichtsliste und ein Erfassungsformular.

Vorgehensschritte

  1. Start: Installation - Download und Installation von MetaModels
  2. Beispiel 1: Backend einrichten - Eingeben der Sammlung
  3. Beispiel 2: Frontend einrichten - Die Inhalte im Frontend anzeigen (Liste und Detail)
  4. Beispiel 3: Weitere Filter einrichten – Inhalte auf Published setzen, einfache Select-Filter
  5. Beispiel 4: Weiteres MetaModels einrichten - komplexe Select-Filter einsetzen

Eine leere Datenbank erstellen

Mm startscreen.png

Zuerst brauchen wir ein MetaModel. Technischen gesehen werden wir dabei in der Contao-Datenbank eine leere Tabelle anlegen.

  • Klick auf Neues MetaModel
  • Name: Musicbox
  • TabellenName: mm_musicbox

Da noch nicht klar ist, ob die Seite vielleicht einmal mehrsprachig wird, bereiten wir das MetaModel direkt auf diesen Fall vor:

  • Übersetzung anhaken
  • Eine Sprache Deutsch legen wir dann auch an und machen sie zum Fallback.
  • Varianten aktivieren lassen wir mal aus
Du siehst nun ein MetaModel "Musicbox" mit 0 (null) Datensätzen und einer Reihe von Icons, die wir nun zur Weiterbearbeitung nutzen.

MetaModels Backend-Funktionen

Kurz erklärt, was diese bedeuten (in Klammern, was als Tooltip ausgegeben wird):

Mm backend funktionen icons.png

  1. Attribute (Definieren Sie die Attribute in MetaModel)
  2. Ausgabevorgaben (Definieren Sie Ausgabevorgaben für das MetaModel)
  3. Paletteneinstellungen (Paletteneinstellungen für das MetaModel definieren)
  4. Filter (Definieren Sie Filter für das MetaModel)
  5. Paletten- und Ansichtseinstellungen (Paletten- und Ansichtseinstellungen für MetaModel festlegen)

Das Backend konfigurieren

Um das Backend für die Erfassung der Daten vorzubereiten benötigen wir a) eine Übersichtsliste und b) ein Erfassungsformular. Hierzu benötigen wir 4 der 5 Backend-Funktionen von MetaModels.

  • Datenbank erstellen, benennen, Sprachvariable zuweisen
  • Felder definieren, Attribute festlegen, Erfassungsformular gestalten
  • Übersichtsliste definieren
  • Erfassung (z.B. für Redakteure) freigeben


MM-Funktion: MetaModel bearbeiten

Icons bearbeiten.png

Hier gelangt man wieder zurück zum gleichen Screen, wie bie der Erstellung eines neuen MetaModels. Hier kann man jederzeit sowohl den Namen als auch den Tabellennamen des MetaModels ändern.

Mm startscreen2.png

Anmerkungen

  • Obwohl es so aussieht als wäre Übersetzung eine frei wählbare Option, ist "diese Option" eigentlich ein MUSS. Denn ohne Sprachenzuweisung funktioniert das ganze MetaModel nicht.
  • Varianten unterstützen wird vorläufig nicht benötigt.... und allenfalls zu einem späteren Zeitpunkt erläutert

MM-Funktion: Attribute

Icons attribute.png

Hier erfassen wir die benötigen Felder für die Eingabe. s. allgemeine Infos zu den Attributen

Mm attribute erfassen.png

Hierzu geben wir folgende Felder ein (im Screen nebenan für das Beispiel "Titel"):

Titel
  • Attribute Type= Text
  • Column name= title
  • Name (deutsch)= Titel
  • Description (deutsch)= Name des Stücks
Interpret
  • Attribute Type= Text
  • Column name= composer
  • Name (deutsch)= Name
  • Description (deutsch)= Name der Band, SängerIn oder InterpretIn
Land
  • Attribute Type= Text
  • Column name= country
  • Name (deutsch)= Land
  • Description (deutsch)=
Jahr
  • Attribute Type= Decimal
  • Column name= year
  • Name (deutsch)= Jahr
  • Description (deutsch)= Erscheinungsjahr
Beschreibung
  • Attribute Type= Longtext
  • Column name= description
  • Name (deutsch)= Beschreibung
  • Description (deutsch)= Wikipedia, Kurzbeschreibung, etc.
Cover
  • Attribute Type= File
  • Column name= images
  • Name (deutsch)= Bilder
  • Description (deutsch)= Cover, Bilder
Bis jetzt wurde bei keinem der Attribute die Option Unique values aktiviert.
Um die Einträge eindeutig identifizieren zu können, wird zusätzlich ein Alias-Attribut erzeugt:
Alias
  • Attribute Type= Alias
  • Column name= alias
  • Name (deutsch)= Alias
  • Description (deutsch)=
  • Unique values= aktiviert
  • Alias fields= Titel
  • Force alias regenerating= aktiviert
    (dann muss kein Alias eingegeben werden, wird neu berechnet bei Änderung des Titels)

MM-Funktion: Ausgabevorgaben

Icons ausgabevorgaben.png

Hier erfassen wir unsere Ansicht: Eine Listendarstellung für das Backend.

Mm ausgabe definieren.png
  • Klick hierzu auf neu
  • Gib den Namen BE Listenansicht ein
  • Den Rest kannst du so stehen lassen, denn für die BE Listenansicht brauchen wir weder eine Zielseite noch Filter settings

(s. allgemeine Ausgabe-Vorgaben)

Mm ausgabe attribute definieren.png

Gib nun an, welche Felder in der BE Listenansicht angezeigt werden soll. Klick hierzu auf das Icon rechts.

  • Wähle Add all. Du kannst auch Neu wählen und die Felder einzeln hinzufügen, aber mit Add all gehts am schnellsten
  • Du wirst gefragt, ob alle Attribute hinzugefügt werden sollen. Bestätige mit Weiter
  • Nun siehst alle Attribute, die du bereits unter "...." erfasst hast.

Über das übliche 'Auge' werden nur die Attribute sichtbar gemacht, die in der Backend-Liste angezeigt werden sollen: Titel, Interpret und Jahr.

(( alter Screen, wird ersetzt ))

MM-Funktion: Paletteneinstellung

Icons paletteneinstellungen.png

Hier legen wir fest wo und wie im BE die Daten zu unserer Musicbox erfasst werden sollen.

BE-Liste

Mm paletten BE liste.png

Klick auf Neue Palette. Ein Erfassungsformular öffnet sich. Gib die Werte ein, wie nebenan abgebildet:

  • Name: BE Erfassung
  • Option Als Standard benutzen
  • Panel-Layout: Es stehen 4 Werte (filter, sort, search und limit) zur Verfügung. Sie können auch über das Icon rechts abgerufen werden. Man kann diese optimisch von einander trennen, indem man zwischen die Werte entweder ein Komma (,) oder ein Semikolon (;)
  • Integration: Als Einzeltabelle
  • Sortiermodus: 2 Datensätze nach wählbarem Feld sortiert darstellen (Wichtig: Sowohl dieser Wert als auch sort im Panel-Layout müssen definiert sein, ansonsten erscheint die Sortier-Funktion nicht
  • Sortierung: Auf- oder Absteigend... wie es dir gefällt
  • Backend-Bereich: Inhalte (oder wo soll es in der Backend-Navigation eingesetzt werden)
  • Backend-Icon: Auf Wunsch kann hier ein eigenes Icon gesetzt werden
  • Backend-Beschreibung: wie abgebildet

Nun habe eine Palette namens BE Erfassung erstellt. Ich möchte nun das Erfassungs-Formular ein wenig gestalten.

Im letzten Kapitel Die Daten erfassen siehst du, wie die Liste/das Formular zwecks Erfassung meiner Musikstücke aussehen.

BE-Formular

Mm paletten BE formular.png

Wir fügen nun alle Attribute zur Palette hinzu und klicken hier auf das Icon rechts Paletteneinstellungen.

  • Wir wählen wieder Alle hinzufügen und bestätigen alle nun folgenden Screens.
  • Wir erhalten so eine Liste aller Attribute, die wir einzeln bearbeiten können
  • Auf Wunsch können wir hier auch die Reihenfolge umstellen und so bestimmen, wie wir die Daten erfassen wollen
  • Wir fangen mit dem ersten Eintrag Titel [text] an
Mm paletten BE formular2.png

Als Beispiel zeigen wir, was man bei der Erfassung des Attributs Titel alles einstellen kann.
Wir klicken auf das Editier-Icon. Die wichtigsten Einstellung wären:

  • Backend-Class: Damit können wir das Formular bzw. die Erfassungfelder etwas gestalten. 5 Werte stehen uns zur Verfügung: w50, clr, long, wizard und m12
  • Pflichtfeld: Durch Anklicken legen wir fest, ob auf diesem Feld eine Inhaltsprüfung stattfinden soll. Die Felder werden mit einem roten Asterix gekennzeichnet
  • Filterbar, Durchsuchbar, Sortierbar: Mit diesen Optionen können wir die BE-Liste etwas organisieren. Praktisch wenn man mehrere Dutzend/Hunderte von Datensätze erfasst hat.

MM-Funktion: Zugriffsrechte definieren

Icons ansichtseinstellungen.png

Hier legt man fest, wer im Backend auf die Daten von MetaModel zugreifen und diese editieren darf.

Mm backend zugriffsrechte definieren.png

Die Daten erfassen

Mm backend erfassen.png

Und so sieht's aus: Nun wird in der linken Navigationsübersicht "Backend-Module" ein neuer Eintrag angezeigt. Nun kann man mit der Erfassung der Musikstücke beginnen.

  • Mit Klick auf MyMusik gelangt man auf die BE Listenansicht. Diese ist noch leer
  • Mit Klick auf Neuer Datensatz. öffnet sich ein Formular, mit dem sich nun der erste Datensatz erfassen lässt
  • Die gewünschten Werte eingeben und mit Speichern und Schliessen bestätigen
  • Nun erscheint der erste Eintrag in der BE Listenansicht
  • Diesen Vorgang wiederholen, bis alle Datensätze erfasst wurden
  • Über der BE Listenansicht stehen nun die Panel-Layout Funktionen Suchen, Sortieren, Filtern und Anzeigen zur Verfügung

Zurück zur Beispiel-Übersicht | Weiter zum Beispiel 2: Erstellung der Frontend-Ansicht

Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich überlege gerade warum Contao Developer einen Hangout mit Bildübertragung machen... abgesehen von TheTril sind wir da alle relativ hässliche Typen wo Audio deutlich reichen würde. *g*

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge