Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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.

Codeblock
languagejs
themeRDark
titleKonfiguration 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
},

...

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

Verwendung in Strukturmodellierung (Component/Modelling)

Codeblock
languagetext
{  
	"source": "[Input/Select.select|Input/Select.select/key/value|Input/Select.select/key/value/multiple

...

Codeblock
languagejs
themeRDark
titleKonfiguration der widget.json
{
  "identifier]"
	"enumerationPlugin": "cmsPageTemplate[pluginName]",
  "labels": {     "deenumerationFunction": "Template[functionName]",
    "en
}

Verwendung in Widgets

Codeblock
languagejs
{
	// [...],
	"formType": "TemplateSelect"
  },
  	"formTypeconfiguration": "feature",
  "feature{
		// [...],
		"source": "input/select[Input/Select.select|Input/Select.select/key/value|Input/Select.select/key/value/multiple]",
  "configuration": {
    	 	"enumerationPlugin": "cms/page[pluginName]",
    	"enumerationFunction": "getDomainThemeTemplates[functionName]"
	}
 },
  "isSearch": true,
  "isIdentifier": true
},

Beispiel Feld für Lieferland

Codeblock
languagejs
themeRDark
{
  "enumerationFunction": "getEnumerationDeliveryCountrySelect",
  "enumerationPlugin": "shop/delivery",
  "feature": "input/select.select/key/value"
}	// [...]
}

Konfiguration

Parametererklärung

Bezeichung

Mögliche Werte

Beschreibung

source

Input/Select.select/key/value oder Input/Select.select/key/value/multiple

Legt fest, ob das Feld eine Einfach oder Mehrfachauswahl ist.

enumerationPlugin

Das Plugin, das die Logik zum Bereitstellen der Enumeration enthält.


enumerationFunction

Die Methode, die die Enumeration bereitstellt. In lowerCamelCase.

Legt fest, welche Methode im ausgewählten Plugin gewählt wird, um die Enumeration bereitzustellen.