MetaModels Beispielprojekt

Aus Contao Community Documentation

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.

Beispielprojekt mit MetaModels (aka Catalog 3)

Hier entsteht anhand eines Beispielprojektes die Beschreibung der wichtigsten Möglichkeiten der neuen MetaModels in einem Contao 2.11.6ff.
Die Bedienung und Administration von Contao sollte bekannt sein.
Bezüglich der MetaModels werden keinerlei Vorkenntnisse vorausgesetzt.

Dieser Beitrag entsteht 'learning by doing'. Er enthält also immer den aktuellen Wissensstand des/der Autoren. Auftretende Fragen werden hier vermerkt und ebenso im Community-Forum gestellt. Sobald eine Lösung gefunden wurde, wird die Frage hier im Wiki durch eine passende Beschreibung ersetzt.

"Information"


Die Aufgabenstellung

Wir möchten eine Sammlung traditioneller Folkmusik aufbauen, die im BE durch Redakteure gepflegt werden kann, (die sich nicht mit MetaModels auseinandersetzen müssen). Im FE soll man die Sammlung nach unterschiedlichen Kriterien filtern und durchsuchen können. In der Detail-Ansicht werden alle verfügbaren Informationen zu einem Stück angezeigt.

Vorbereitungen

Wir gehen davon aus, dass Contao 2.11.6 (oder eine neuere 2.11) installiert ist.

Aktuell gibt es MetaModels noch nicht im Extension Repository. Man muss sich darum den Code von GitHub laden. Dies geht am einfachsten auf einem Linux-Rechner mit lokalem Webserver für die Tests oder auf einem Linux-Server mit Shell-Zugang.
Unter Windows kann dasselbe mit cygwin erreicht werden, oder man verwendet einen Git-Client für Windows und kopiert die erhaltenen Quelldateien in die Contao-Installation.

Zunächst legt man sich einen Ordner an, in den die Quellen herunter geladen werden sollen und wechselt dahin.

cd ~
mkdir MetaModels
cd MetaModels

Dann wird MetaModels einschließlich aller Unterprojekte heruntergeladen:

for i in `wget -qO- https://api.github.com/orgs/MetaModels/repos | \
grep clone_url | \
cut -d \" -f4`; do \
git clone $i; \
done;

Die erzeugten Ordnerstrukturen enthalten jeweils (bis auf DC_General) einen Ordner src. Darin befindet sich der Teil der Quellen, die in die Contao-Installation übernommen werden müssen. In DC_General befindet sich direkt der Ordner system.

Die system-Ordner müssen jeweils in die Contao-Installation kopiert werden (contao ersetzen durch Pfad zum Contao-Installationsordner):

for i in `ls -d attr*`; do cp -r $i/src/* contao/; done;
cp -r core/src/* contao/
cp -r DC_General/* contao/

Jetzt muss noch im Contao-Backend die Datenbank aktualisiert werden: Erweiterungsverwaltung | Datenbank aktualisieren

Unser Datenmodell

Jetzt geht es wirklich los!

Im Backend unter System befindet sich ein neuer Eintrag MetaModels, über den ein neues MetaModel angelegt wird.
Für unsere Aufgabenstellung wählen wir

  • Name: TuneBook
  • TabellenName: mm_tunebook

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.


Unter den 'Experteneinstellungen' befindet sich noch eine Option Varianten aktivieren, deren Bedeutung sich auch mit der angezeigten Erklärung einem Neuling nicht erschließt.
Wir aktivieren sie zunächst nicht.

"Information"


Backend für Redakteure einrichten

Anzeige-Templates für Frontend und Backend

Filter

Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich habe es mir mal grob ausgerechnet: Bei jeder Extension von mir verbrauche ich im Durchschnitt 6 Pizzen. Wenn Dir meine Extensions gefallen, sende mir bitte mehr Pizzen. Die Adresse gibt es auf Anfrage!

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge