Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Aufbau des Plugins

Das Plugin input/select bildet einen Wrapper für die existierenden Input-Typen select & selectKeyValue. Die Besonderheit ist, dass durch die Definition einer Hilfsmethode die Enumeration des Feldes manipuliert werden kann. Somit ist man nicht auf statische Werte begrenzt.

Konfiguration

Um das Plugin nutzen zu können, ist die gewünschte Spalte in der widget.json zu konfigurieren.

Konfiguration der widget.json
{
  "identifier": "cmsPageTemplate",
  "labels": {
    "de": "Template",
    "en": "Template"
  },
  "formType": "feature",
  "feature": "input/select.select/key/value",
  "configuration": {
    "enumerationPlugin": "cms/page",
    "enumerationFunction": "getDomainThemeTemplates"
  },
  "isSearch": true,
  "isIdentifier": true
},


BereichBeschreibung
featureDas gewünschte Feature. input/select bietet select & select/key/value.
enumerationPluginDas Plugin, das die Logik zum Bereitstellen der Enumeration enthält.
enumerationFunctionDie Methode, die die Enumeration bereitstellt. In lowerCamelCase.

Verwendung

Die Methoden, die in der Konfiguration definiert werden, unterliegen inhaltlich keiner Beschränkungen. Es muss lediglich ein Array mit Schlüssel-Werte-Paaren zurückgegeben werden. Das Select-Input-Feld speichert die Werte des Arrays. Das Select-Key-Value-Input-Feld hingegen speichert die Schlüssel.

Konfiguration für die Mehrfachauswahl

Um eine Mehrfachauswahl von dynamischen Enumerationen zu ermöglichen muss die "feature" Notation so aussehen: "input/select.select/key/value/multiple"

Konfiguration der widget.json
{
  "identifier": "cmsPageTemplate",
  "labels": {
    "de": "Template",
    "en": "Template"
  },
  "formType": "feature",
  "feature": "input/select.select/key/value/multiple",
  "configuration": {
    "enumerationPlugin": "cms/page",
    "enumerationFunction": "getDomainThemeTemplates"
  },
  "isSearch": true,
  "isIdentifier": true
},

Beispiel Feld für Lieferland

{
  "enumerationFunction": "getEnumerationDeliveryCountrySelect",
  "enumerationPlugin": "shop/delivery",
  "feature": "input/select.select/key/value"
}
  • Keine Stichwörter