MetaModels Beispiel 1
Aus Contao Community Documentation
Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.
Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis. |
Inhaltsverzeichnis
Voraussetzung: MetaModels installieren
Eine detaillierte Beschreibung findest du hier. Wenn du gemäss Beschreibung alle Module installiert hast, komm wieder hierher zurück.
Die Aufgabenstellung: Das Backend vorbereiten
Wir bauen eine einfache Musikbox. Zu diesem Zweck bauen wir zuerst das Backend auf.
1. Eine leere Datenbank erstellen
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):
- Attribute (Definieren Sie die Attribute in MetaModel)
- Ausgabevorgaben (Definieren Sie Ausgabevorgaben für das MetaModel)
- Paletteneinstellungen (Paletteneinstellungen für das MetaModel definieren)
- Filter (Definieren Sie Filter für das MetaModel)
- Paletten- und Ansichtseinstellungen (Paletten- und Ansichtseinstellungen für MetaModel festlegen)
2. 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
Hier gelangt man wieder zurück zum gleichen Sceen, wie bie der Erstellung eines neuen MetaModels. Hier kann man jederzeit sowohl den Namen als auch den Tabellennamen des MetaModels ändern. Anmerkungen
- Obwohl es so aussieht als wäre "Übersetzung" eine frei wählbare Option, ist es eigentlich ein MUSS. Ohne Sprachenzuweisung funktioniert das ganze MetaModel nicht.
- "Varianten unterstützen" wird nicht benötigt... hier vielleicht noch ein paar Sätze warum nicht? Oder wofür könnte man das brauchen?
MM-Funktion: Attribute definieren
Hier erfassen wir die benötigen Felder für die Eingabe. s. allgemeine Infos zu den Attributen</span>
Hierzu geben wir folgende Felder ein (im Screen nebenan für das Beispiel "Titel"):
Titel | * Attribute Type= Text
|
'Interpret' | * Attribute Type= Text
|
Land | * Attribute Type= Text
|
Jahr | * Attribute Type= Decimal
|
Beschreibung | * Attribute Type= Longtext
|
Cover | * Attribute Type= File
|
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
|
MM-Funktion: Ausgabevorgaben definieren
Datei:Mm icons rendersettings.png
Hier erfassen wir unsere Ansicht: Eine Listendarstellung für das Backend.
- Klick hierzu auf neu
- Gib den Namen BE Listenansicht ein
- Den Rest kannst du so stehen lassen, denn blabla.........
Allenfalls noch Kommentar schreiben wieso man keinen Standard, kein Template, keine Zielseite und keinen Filter braucht
(s. allgemeine Ausgabe-Vorgaben)
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 definieren
Hier legen wir fest a) welche Funktionen die Listendarstellung im BE haben sollen (z.B sortierbar, filterbar, etc.) und wo diese im in der BE-Navigation erscheinen soll. Und b) wie das Erfassungsformular in etwa aussehen soll
- blabla
- blabla
- blabla
- blabla
((Screens zeigen))
MM-Funktion: Zugriffsrechte definieren
Datei:Mm icons dca combine.png
Hier legen wir fest, wer im Backend auf die Daten von MetaModel zugreifen und editieren darf.
- blabla
((Screens zeigen))
3. Die Daten erfassen
Und so sieht's aus: Nun wird in der linken Navigationsüberishct "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
- Klick auf "Neuen Datensatz". Es öffnet sich ein Formular mit dem sich nun der erste Datensatz erfassen lässt.
- Gibt die gewünschten Werte, und klick auf "Speichern und Schliessen"
- Nun erscheint der erste Eintrag in der BE Listenansicht.
- Wiederhole nun diesen Vorgang so oft du willst.