Einzelauswahl [select]
Das Attribut „Einzelauswahl [select]“ erstellt eine 1:n-Relation zu
einer anderen Tabelle — entweder einer MetaModels-Tabelle oder einer beliebigen Contao-Tabelle
(z. B. tl_member, tl_page). In der Datenbank wird die ID des ausgewählten
Datensatzes gespeichert. Typische Einsatzbereiche:
Zuordnung eines Produkts zu einer Kategorie
Verknüpfung eines Artikels mit einem Autor
Auswahl einer Contao-Seite als Zielseite
Die Auswahl im Backend kann als Dropdown, als Radiobutton-Liste oder als Baum-Picker dargestellt werden.
Bemerkung
Für Relationen zwischen zwei mehrsprachigen MetaModels sollte die einsprachige Variante „Einzelauswahl“ 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 Einzelauswahl [select] zur Verfügung.
Installation
Das Attribut wird über den Contao Manager oder Composer installiert:
composer require metamodels/attribute_select
Einstellungen beim Anlegen des Attributs
Neben den allgemeinen Attribut-Einstellungen (Name, Spaltenname, Beschreibung, Varianten überschreiben) bietet das Attribut folgende spezifische Optionen:
Option |
Beschreibung |
|---|---|
Quelltabelle |
Die Tabelle, aus der die Auswahlwerte bezogen werden. Verfügbar sind MetaModels-Tabellen sowie alle Contao-Datenbanktabellen. |
Werte-Spalte |
Die Spalte der Quelltabelle, deren Inhalt als Bezeichnung in der Auswahlliste angezeigt wird. |
ID-Spalte |
Die Spalte, die als eindeutiger Bezeichner (gespeicherter Wert) dient.
Standard: |
Alias-Spalte |
Die Spalte, die als lesbarer Bezeichner in Filterwidgets verwendet wird. Ist man unsicher, dieselbe Spalte wie bei der ID-Spalte wählen. |
Auswahl-Sortierung |
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 Einzelauswahl-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 des verknüpften Wertes. |
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 |
Darstellungsart der Auswahl:
|
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. |
Leere Option anzeigen |
Zeigt eine leere Auswahloption an, damit keine Vorauswahl getroffen ist. |
Ü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 Einzelauswahl-Attribut kann mit folgenden Filterregeln verwendet werden:
Filterregel |
Hinweis |
|---|---|
Einzelauswahl |
Filtert nach einem ausgewählten Wert aus der Quelltabelle; z. B. alle Produkte einer bestimmten Kategorie. |
Filter auf Attribut des Modells mit einer Relation |
Filtert MetaModel-Items anhand eines Attributwerts des verknüpften MetaModels; z. B. alle Produkte, deren Kategorie ein bestimmtes Merkmal hat. |
Sonderfunktionen
Datenbank-Speicherung
Die ID des ausgewählten Datensatzes wird als int(11) NULL in der
MetaModel-Tabelle gespeichert.
Quelltabellentypen
Als Quelltabelle können gewählt werden:
MetaModels-Tabellen – mit vollem Zugriff auf alle Attribute
Nicht-übersetzte Contao-Tabellen – jede Tabelle aus der Contao-Datenbank
SQL-Tabellen – direkte Tabellenauswahl per SQL-Alias
SQL-WHERE-Bedingung
In der WHERE-Bedingung steht der Alias sourceTable für die Quelltabelle.
Beispiel zur Filterung auf veröffentlichte Einträge:
sourceTable.published = '1'