...
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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 | ||
---|---|---|
| ||
{ "source": "[Input/Select.select|Input/Select.select/key/value|Input/Select.select/key/value/multiple |
...
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "identifier]" "enumerationPlugin": "cmsPageTemplate[pluginName]", "labels": { "deenumerationFunction": "Template[functionName]", "en } |
Verwendung in Widgets
Codeblock | ||
---|---|---|
| ||
{ // [...], "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 | ||||
---|---|---|---|---|
| ||||
{ "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. |