Mehrfachauswahl [tags]
Das Attribut „Mehrfachauswahl [tags]“ erstellt eine m:n-Relation zu
einer anderen Tabelle — entweder einer MetaModels-Tabelle oder einer beliebigen Contao-Tabelle
(z. B. tl_member, tl_page). Die Verknüpfung wird in einer eigenen
Relationstabelle (tl_metamodel_tag_relation) gespeichert, sodass für das
Attribut keine eigene Spalte in der MetaModel-Tabelle angelegt wird.
Typische Einsatzbereiche:
Zuordnung mehrerer Schlagwörter (Tags) zu einem Produkt
Verknüpfung eines Artikels mit mehreren Kategorien oder Autoren
Auswahl mehrerer Regionen, Sprachen oder Zielgruppen
Die Auswahl im Backend kann als Checkbox-Liste, als Checkbox-Wizard, als Baum-Picker oder als durchsuchbares Dropdown dargestellt werden.
Bemerkung
Für Relationen zwischen zwei mehrsprachigen MetaModels sollte die einsprachige Variante „Mehrfachauswahl“ verwendet werden — MetaModels erkennt die Sprache automatisch und wechselt entsprechend.
Siehe auch
Für Spezialfälle mit eigener Sprachspalte in der referenzierten Tabelle steht Übersetzte Mehrfachauswahl [tags] zur Verfügung.
Installation
Das Attribut wird über den Contao Manager oder Composer installiert:
composer require metamodels/attribute_tags
Einstellungen beim Anlegen des Attributs
Neben den allgemeinen Attribut-Einstellungen (Name, Spaltenname, Beschreibung, Varianten überschreiben) bietet das Attribut folgende spezifische Optionen:
Option |
Beschreibung |
|---|---|
Datenbanktabelle |
Die Tabelle, aus der die Auswahlwerte bezogen werden. Verfügbar sind MetaModels-Tabellen sowie alle Contao-Datenbanktabellen. |
Tabellenspalte für Bezeichnung/Name |
Die Spalte der Quelltabelle, deren Inhalt als Bezeichnung in der Auswahlliste angezeigt wird. |
ID der Mehrfachauswahl |
Die Spalte, die als eindeutiger Bezeichner (gespeicherter Wert) dient.
Standard: |
Alias der Mehrfachauswahl |
Die Spalte, die als lesbarer Bezeichner in Filterwidgets verwendet wird. |
Sortierung der Mehrfachauswahl |
Spalte, nach der die Auswahlliste sortiert wird. |
Sortierrichtung |
Aufsteigend (A → Z) oder absteigend (Z → A). |
SQL (WHERE-Bedingung) |
Optionale SQL-WHERE-Bedingung zur Einschränkung der Auswahlliste. Der
Alias |
Filter |
Auswahl eines MetaModels-Filtersets zur dynamischen Einschränkung der Optionen. |
Filterparameter |
Vorgabewerte für die Parameter des ausgewählten Filtersets. |
Einstellungen bei den Render-Einstellungen
Das Mehrfachauswahl-Attribut besitzt keine eigenen Render-Einstellungen. In der Attributliste einer Render-Einstellung stehen die üblichen Optionen zur Verfügung:
Option |
Beschreibung |
|---|---|
Template |
Auswahl eines eigenen Templates für die Ausgabe der verknüpften Werte. |
CSS-Klasse |
Optionale CSS-Klasse, die dem Ausgabeelement hinzugefügt wird. |
Einstellungen bei der Eingabemaske
Wird das Attribut einer Eingabemaske hinzugefügt, stehen folgende Optionen zur Verfügung:
Darstellung
Option |
Beschreibung |
|---|---|
Backend-Klasse |
CSS-Klassen für die Darstellung des Feldes im Backend-Formular. |
Template für das Backend |
Auswahl eines eigenen Widget-Templates für das Backend-Formular. |
Template für das Frontend |
Auswahl eines eigenen Widget-Templates für das Frontend-Editing (nur verfügbar, wenn die Erweiterung „Frontend Editing“ installiert ist). |
Anzeigetyp wählen |
Darstellungsart der Mehrfachauswahl:
|
Niedrigste Ebene (Baum) |
Bei Baum-Picker: Datensätze unterhalb dieser Ebene sind nicht auswählbar (0 = keine Einschränkung). |
Höchste Ebene (Baum) |
Bei Baum-Picker: Datensätze oberhalb dieser Ebene sind nicht auswählbar (0 = keine Einschränkung). |
Funktionen
Option |
Beschreibung |
|---|---|
Pflichtfeld |
Macht das Feld zu einem Pflichtfeld. |
Übersicht (Backend-Filter und -Suche)
Option |
Beschreibung |
|---|---|
Filterbar |
Das Attribut steht im Backend als Filterkriterium zur Verfügung. |
Suchbar |
Das Attribut steht im Backend als Suchfeld zur Verfügung. |
Filterregeln
Das Mehrfachauswahl-Attribut kann mit folgenden Filterregeln verwendet werden:
Filterregel |
Hinweis |
|---|---|
Mehrfachauswahl |
Filtert nach einem oder mehreren ausgewählten Werten aus der Quelltabelle; z. B. alle Produkte mit einem bestimmten Tag. |
Filter auf Attribut des Modells mit einer Relation |
Filtert MetaModel-Items anhand eines Attributwerts des verknüpften MetaModels; z. B. alle Produkte, deren Tags ein bestimmtes Merkmal haben. |
Sonderfunktionen
Datenbank-Speicherung
Die Relationen werden nicht in der MetaModel-Tabelle gespeichert, sondern
in der eigenen Zwischentabelle tl_metamodel_tag_relation mit den Spalten
att_id (Attribut-ID), item_id (Item-ID), value_id (ID des
verknüpften Datensatzes) und value_sorting (Sortierreihenfolge). Dadurch
entfällt eine Spalte in der MM-Tabelle, und es ist keine DB-Migration nötig.
SQL-WHERE-Bedingung
In der WHERE-Bedingung steht der Alias t für die Quelltabelle. Beispiel
zur Filterung auf veröffentlichte Einträge:
t.published = '1'