RichTextFieldDefinition
renders a rich text editor. This is a custom Magnolia field that implements the CKEditor component.
This rich text field definition is part of the Magnolia 6 UI framework. The fully qualified class name is info.magnolia.ui.field.RichTextFieldDefinition
.
If you work with the Magnolia 5 UI framework, see Rich text field for Magnolia 5 UI instead.
Example definition
richText: label: Text editor $type: richTextField height: 500 tables: true source: true
Field properties
Field-specific properties
| optional, default is Allows text alignment for paragraphs. When set to |
| optional Colors displayed in the color selector. Comma-separated hexadecimal color codes without the |
| optional Location of a custom CKEditor configuration file (for example, The default configuration files can be found in
If you use a custom configuration file, Magnolia will ignore all other configured properties. A custom configuration allows you control over the |
| optional List of font names displayed in the font selector. Separate entries with a semi-colon (for example, |
| optional List of fonts sizes displayed in the font selector. Separate entries with a semi-colon (for example, |
| optional, default is Height of the field (including the toolbar). This property accepts an integer (to denote a value in pixels). Value of |
| optional, default is Allows images from the DAM. When set to |
| optional, default is Allows bulleted and numbered lists. When set to |
| optional, default is Allows toggling between text and HTML editing. When set to |
| optional, default is Allows tables. When set to |
Common simple 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. |
type | required, default is Model type of the field. Use the fully qualified class name. See PropertyType for possible values. A default type is typically hard-coded in each definition class. You only need to add this property if you want to override the default implementation (for example, with |
| optional Converts values between presentation (UI) and model (stored data). The property must extend com.vaadin.data.Converter. |
| optional, default is translated Message shown when there is an error in the conversion process. The value can be literal or a key of a message bundle. Use alphanumeric characters in literal values. |
| optional Pre-filled default value displayed in the field. The value can be overwritten by the user. Use alphanumeric characters. Applied only when creating a new item, not for already existing items. |
| optional Help text displayed when the user clicks the help icon. The value can be literal or a key of a message bundle. |
| optional Defines the factory class that initializes and builds the Vaadin form field. The default factory class depends on the particular field. The value must be a fully qualified class name and a subtype of |
| optional Defines the binder class that applies configuration parameters from the field. |
| 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, default is Makes the field uneditable. |
| optional, default is Makes the field required. An asterisk is displayed next to the field label. |
| optional, default is translated Error message shown when |
| 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. |
validators | optional List of field validator definition items. Any value must be a subtype of See Field validators for more information. |
Decoding text
CKEditor produces HTML such as <p>
elements for paragraphs. However, text stored in JCR usually escapes HTML code. To render text that originates from a rich text field, you need to decode the stored content to make sure the HTML tags are rendered properly again.
Here is how to decode the content
object and get the desired property from it:
${cmsfn.decode(content).text!""}
See cmsfn
Decode HTML for more information.
Because a rich text editor adds HTML to your content, the HTML will be indexed by search engines along with the content.