MetaModels Beispiel 3

Aus Contao Community Documentation


Aufgabenstellung: Weitere Filter einrichten

Wir bauen einen Mechanismus ein, mit dem wir entscheiden können, welcher der im MetaModel Musikbox erfassten Datensätze im Frontend erscheinen soll und welcher nicht. Mit dem speziellen Attribut "Published State" lässt sich so was einrichten und über einen Filter im Frontend steuern. Darüber hinaus möchten wir die Listenansicht im Frontend etwas interaktiver gestalten, indem wir einen Filter als HTML-Select im Frontend zur Verfügung stellen, der die Liste z.B. nach Länder ausfiltert.

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

Published Filter im Backend einbauen

Start

Mm backend anpassen0.png

Die Übersichtsliste in unserer Musiksammlung MyMusic entspricht bisher in etwa dem nebenstehenden Screenshot.

Hier möchten wir das Icon "Auge" (=> Eintrag veröffentlichen) einfügen, dass wir von anderen Contao-Backend Funktionen kennen.

MM-Funktion: Attribute anpassen

Icons attribute.png

Hier erfassen wir das neue Attribut (s. auch Doku zum Dialog)

Mm backend anpassen1.png
  • Wähle New attribute
  • Wähle als Attribute Typ Checkbox aus gib als Column name z.B. published ein
  • Wichtig: check_publish muss angeklickt sein
  • In der Attributsübersicht erscheint jetzt das neu angelegte Feld Veröffentlicht

Nun kann man in den entsprechenden anderen MM-Backend-Funktionen, die weiteren Anpassung vornehmen.

MM-Funktion: Ausgabevorgaben anpassen

Icons ausgabevorgaben.png

Wir passen die Listendarstellung für das Backend an (s. Doku zum Dialog)

Mm backend anpassen2.png
  • Wir wählen die Attributseinstellungen von "BE Listenansicht"
  • Wähle "Add all" aus
  • Es gibt einen automatischen Check welche Attribute bereits in die Rendersettings geladen wurden und welche nicht. Das neue Attribut "Veröffendlicht" wird hinzugefügt
  • Es wird am Ende der Attributsliste hinzugefügt

Damit sind die eigentlichen Anpassungen für das Backend schon abgeschlossen.

MM-Funktion: Paletteneinstellung anpassen

Icons paletteneinstellungen.png

Wir passen die Paletteneinstellung für das Backend an (s. Doku zum Dialog)

Damit das gerade hinzugefügte Attribut auch im Backend wirksam wird, muss noch die Paletteneinstellung angepasst werden.

  • Wir wählen für die Palette BE Erfassung das Icon Die Einstellungen der Palette ID xx bearbeiten
  • Dann Alle hinzufügen und zweimal bestätigen

Backendliste "MyMusik" nochmals prüfen

Mm backend anpassen3.png

Wenn wir jetzt unsere Übersichtsliste in unserer Musiksammlung "MyMusic" nochmals ansehen, entdecken wir das Icon "Auge".
Nun können wir im Backend steuern, ob ein Musikstück im Frontend angezeigt werden soll oder nicht.

Damit das geschieht, müssen wir noch einen Filter erstellen, der den jeweiligen Frontend-Ansichten sagt, dass nur markierte Musikstücke veröffentlicht werden sollen.

Published Filter im Frontend einbauen

Schaut man sich jetzt wiederholt die Frontend-Liste der Musicbox an während man im BE mit dem veröffentlicht-Auge herumspielt, so stellt man keine Veränderung fest.
Wir müssen daher in diversen MM-Backend-Funktionen Veränderungen vornehmen

MM-Funktion: Filter definieren

Wir erstellen einen neuen Filter: "FE Filter published"

Mm backend filter anpassen1.png
  • Wir wählen "neu", bestätigen mit weiter
  • Wir wählen den Typ "Published state", wählen hierzu das vorhin erfasste Attribut " Veröffentlicht [checkbox]" und aktivieren diesen neuen Filter "FE Filter published
  • ... und kehren zurück zur Filter-Übersichtsliste

Frontend-Modul anpassen

Mm backend filter anpassen2.png
  • Wir gehen über die Themes zu unseren Frontend-Modulen
  • Wir wählen hier das Modul, das für unsere Frontend-Ansicht zuständig ist. In unserem Fall das FE-Modul "MM - MyMusik Liste"

Dort nehmen wir an folgenden Stellen zwei Änderungen vor:

  • Bei "Anzuwendende Filtereinstellungen" wählen wir den neu erstellen Filter "FE Filter Published" an
  • Als Filter Value für das Attribut "Veröffentlicht" wählen wir den Wert "1" ( 1 steht bei Checkboxen ganz allgemein für "angeklickt")

Ab sofort werden im Frontend nur noch die Datensätze angezeigt, die wir in unserer Backend-Liste "MyMusik" mit dem Icon "Auge" markiert haben.

Select Filter im Frontend einbauen

Hier müssen wir in diversen MM-Backend-Funktionen diverse Veränderungen vornehmen

MM-Funktion: Filter definieren

Wir nehmen den neuen Filter, ergänzen diesen und geben ihm einen neuen Namen "FE Filter published/Country". Dieser angepasste Filter muss zwei Bedingungen erfüllen:

  • Er soll wie bisher nur die publizierten Musikstücke anzeigen
  • Er soll nur die Länder anzeigen, die wir über ein Select anwählen, das über der FE Liste angezeigt wird
Mm backend filter anpassen3.png
  • Wir wählen die Filtereinstellungen des "Filters FE Filter published"
  • Wir wählen "neu" und setzen die neue Einstellung unterhalb der Einstellung "Published State" ein
  • Wir nehmen den Typ "Einfache Auswahl", weisen das Attribut "Land [text]" zu und aktivieren diesen
  • Optional wählen wir noch die Option "Leerer Wert" an. Dies bewirkt, dass im späteren Select überhalb unserer Länderauswahl ein leerer Eintrag generiert wird
  • Wir "Speichern und schliessen" den Dialog

Nun erscheint uns neu der Filter "FE Filter published" als eine Kombination von 2 Filtereinstellungen. Man kann sich nun leicht vorstellen, wie komplex man sich diesen Filter bauen kann, wenn man will.

Neues Frontend-Modul erstellen

Mm backend filter anpassen4.png
  • Wir gehen über die Themes zu unseren Frontend-Modulen
  • Wir erstellen hier ein neues Frontend-Modul
  • Wir wählen hierzu den Modultyp "MetaModels Filter" und geben ihm den Namen "MM - MyMusik Filter"

Bestehendes Frontend-Modul anpassen

Mm backend filter anpassen5.png
  • Wir gehen über die Themes zu unseren Frontend-Modulen
  • Wir nehmen das  Frontend-Modul "MM - MyMusik Liste"
  • Wir sortieren nach "Land" und "Aufsteigend"
  • Neu ist nun, dass wir hier unter "anzuwendende Filtereinstellungen" den überarbeiteten Filter "FE Filter published" nehmen

Bestehenden Artikel anpassen

Mm backend filter anpassen6.png
  • Wir gehen nun zu unserem Artikel, wo wir einst unser Frontend-Modul "MM - MyMusic Liste" verbaut haben
  • Darüber erstellen wir neu ein weiteres Inhaltselement, ein weiteres Frontend-Modul. Diesmal das neu erstellte FE-Modul "MM - MyMusic Filter"
  • to be continued

Frontend Ansicht

Die FE-Liste erscheint nun neu mit einem HTML-Select. Über die Auswahl lässt sich nun die darunterliegende Liste länderspezifisch verkürzen.

Mm frontend beispiel filter.png

Zurück zur Beispiel 2 | Weiter Beispiel 4: Weiter MetaModels hinzufügen

Ansichten
Meine Werkzeuge

Contao Community Documentation

God: "what is your job?"
me: "i am a software developer ... i develop websites with Contao 3"
God: "sounds cool, what are you working on today? Web sockets? Ajax? HTML5 video streaming?"
me: "no, i am trying to send an email ...."

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge