MultiFieldDefinition renders a complex field composed of one or more field sets (for example, three sets of two text fields). Magnolia provides three preconfigured multi field definitions:
JcrMultiValueFieldDefinition: allows you to enter multiple values of a single type to be stored as an array in a single JCR property (
jcrMultiValueField
).JcrMultiFieldDefinition: allows you to create multiple JCR fields (
jcrMultiField
).- JsonMultiFieldDefinition: allows you to create multiple JSON fields (
jsonMultiField
).
These multi field definitions are part of the Magnolia 6 UI framework. Their fully qualified class names are:
info.magnolia.ui.field.JcrMultiValueFieldDefinition
info.magnolia.ui.field.JcrMultiFieldDefinition
info.magnolia.rest.ui.field.JsonMultiFieldDefinition
In the Magnolia 5 UI framework, the field functionally parallel to the two JCR fields is Multivalue field. There is no corresponding 5 UI implementation for the JSON multi field.
Example definitions
JCR multi-value field
assignedSegments: $type: jcrMultiValueField field: $type: comboBoxField converterClass: info.magnolia.ui.editor.converter.JcrNodeToWorkspaceAndIdConverter datasource: $type: jcrDatasource workspace: segments describeByProperty: jcrName allowedNodeTypes: - mgnl:segment
JCR multi field
multi: label: Addresses i18n: true $type: jcrMultiField field: $type: compositeField properties: street: label: Street name $type: textField city: label: City name i18n: true $type: textField zip: label: ZIP code $type: textField
JSON multi field
stationboard: label: Station Board $type: jsonMultiField itemProvider: $type: jsonMultiFieldProvider field: $type: jsonCompositeField idPropertyName: name properties: name: label: name $type: textField readOnly: true to: label: to $type: textField readOnly: true
Field properties
Field-specific properties
| required Node containing an editor property definition item (typically, a field). All field types are supported. See List of fields for more information. |
| optional, default is
Implementation class that defines how the child entries of a multi field should be resolved. |
| optional, default is
Implementation class that sorts nodes and ensures that the suffixes in index names correspond to the order in which they are stored. |
| optional, default is When |
buttonSelectAddLabel | optional, default is translated Button label for adding an item. The value is i18n-able. |
buttonSelectRemoveLabel | optional, default is translated Button label for removing an item. The value is i18n-able. |
Common complex field properties
| required Name of the field definition item. Derived from the configured node name. Use alphanumeric characters without spaces. |
| required (unless Type of the field definition item. The value must be a fully qualified class name and a subtype of |
| You can use this as a shortcut for See Field types for possible values. |
| required, default is
Node with a See Item providers for more information. |
| optional Help text displayed when the user clicks the help icon. The value can be literal or a key of a message bundle. |
| optional, default is Enables i18n authoring support, which allows editors to write foreign-language or regionally targeted content. A two-letter language identifier ( |
| optional Field label displayed to editors. The value can be literal or a key of a message bundle. If you do not provide the property, Magnolia will fall back to a generated i18n key. If you do not want to have any label, set the property to an empty string such as |
| optional Additional style information for an editor property definition item applied to the element when the form is rendered. The value can be a CSS class or a list of CSS classes separated by white spaces. |