CompositeFieldDefinition
renders a complex field composed of one or more fields. Use the field for objects that cannot be expressed as simple text strings or numbers such as:
- Setting conditions for selecting the next step in a multistep form.
- Assigning categories to a content item where the composite field consists of a category dropdown and a button for reordering categories.
- Defining an image gallery using a media select field where the composite media field consists of a thumbnail and caption text.
- Specifying an access control list for JCR workspaces where the composite ACL field consists of permission, scope and path.
There is also JsonCompositeFieldDefinition
to be used with the JSON data source.
These composite field definitions are part of the Magnolia 6 UI framework. Their fully qualified class names are:
info.magnolia.ui.field.CompositeFieldDefinition
info.magnolia.rest.ui.field.JsonCompositeFieldDefinition
If you work with the Magnolia 5 UI framework, see Composite field for Magnolia 5 UI instead. There is no corresponding 5 UI implementation for the JSON composite field.
Example definitions
Composite field
composite: $type: compositeField itemProvider: $type: jcrChildNodeProvider properties: city: label: city $type: textField country: label: country $type: textField
JSON composite field
jsonComposite: $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 List of editor property definition items (typically, a list of fields). All field types are supported. See List of fields for more information. |
idPropertyName | optional (used only in JSON composite field) Defines a unique property name for a JSON node. |
propertyNameDecorator | optional, default is Decorates a property name for a node. |
| optional, default is Defines the field layout. The value must be a subtype of See Layout types for more information. |
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. |