Magnolia 5.4 reached end of life on November 15, 2018. This branch is no longer supported, see End-of-life policy.
RichTextFieldDefinition renders a rich text editor. This is a custom Magnolia field that implements the CKEditor component.
class: info.magnolia.ui.form.field.definition.RichTextFieldDefinition
Simple rich text field definition.
form: tabs: - name: tabText label: Text fields: - name: text class: info.magnolia.ui.form.field.definition.RichTextFieldDefinition tables: true height: 500 label: Text Editor
Node name | Value |
---|---|
form | |
tabs | |
tabText | |
fields | |
text | |
class | info.magnolia.ui.form.field.definition.RichTextFieldDefinition |
tables | true |
height | 500 |
label | Text Editor |
You can use common field properties and the following properties in a rich text field definition:
Properties:
<field name> | Name of field. |
| optional, default is Text alignment for paragraphs. When set to |
| optional Colors displayed in the color selectors. Comma-separated a string of hexadecimal color codes without the |
| optional Location of a custom CKEditor configuration file, e.g. The default configuration files can be found in
A custom configuration allows you control over the |
| optional List of font names displayed in the Font selector in the toolbar, for example CKEditor documentation for more. |
| optional List of fonts size displayed in the Font selector in the toolbar, for example |
| optional, default is The height of the editing area, including the toolbar, for example |
| optional, default is Allows images to be added 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 to be added. When set to |
There are three link buttons:
Note that any configuration done in a
config.js
file. This is why we ignore other properties in the field definition as soon as a configJsFile
is configured.CKEditor produces HTML such as <p>
elements for paragraphs. However, text stored in JCR usually escapes HTML code. To render text which originates from a rich text field you need to decode the stored content to make sure the HTML tags are rendered properly again.
Decode the content
object and then get the desired property from it:
${cmsfn.decode(content).text!""}
See cmsfn
decodeHtml.
Keep in mind that using the RTE introduces HTML into your content. The impact of this is that the HTML will be indexed along with the content.