Page tree
Skip to end of metadata
Go to start of metadata

The Content editor is a special type of subapp designed to handle content in flexible ways. You need the Content Editor module to use this subapp.

Its definition class ContentEditorSubAppDescriptor extends ContentSubAppDescriptor , it therefore inherits all the properties from the Subapp descriptor. Additionally, ContentEditorSubApp defines the content of its subapp through the ContentDefinition property.

ContentEditorSubAppDescriptor

Here is a simplified example of a content editor subapp definition:

articles.yaml
subApps:
  editor:
    class: info.magnolia.editor.app.ContentEditorSubAppDescriptor
    contentConnector: <simplified>
    actions: <simplified>
    contentDefinition: <simplified>
Node nameValue

 editor


 class

info.magnolia.editor.app.ContentEditorSubAppDescriptor

 contentConnector


 actions


 contentDefinition


Note that the above definition is incomplete and would not work properly. See below for a complete app definition.

Properties:

<subapp-name>

required

Subapp node name. This is the internal ID of the subapp. In the above example it is editor .

class

required

Must be info.magnolia.editor.app.ContentEditorSubAppDescriptor or a subclass.

contentConnector

required

The content connector specifies the data source, see content connector definition for further details.

actions

required

The actions, see Action definition.

contentDefinition

required

A definition of content consisting of outline fields and a list of blocks (see below).

ContentDefinition

ContentDefinition is a property of the ContentEditorSubAppDescriptor which defines the outline fields and a list of blocks to be used by the subapp. Its definition class is ContentDefinition

Example:

editor.yaml
contentDefinition:
  outlineFields: <simplified>
  blocks: 
    - text
    - image
    - video
    - externalLink
  initialBlock: text
  defaultBlock: image
Node nameValue

 contentDefinition


 outlineFields


 blocks


 0

text

 1

image

 2

video

 3

externalLink

 initialBlock

text

 defaultBlock

image

Properties:

outlineFields

required

A list of FieldDefinition items. See Field definition for further information about how to configure a field.

The outline represents the structured part of the content item to be edited, such as the title, author, creation date and so on.

blocks

required

A list of blocks.

<block–name>

required

Specify the block by its name. You can only use the blocks which are known to the BlockRegistry .

initialBlock

required

The name of the block that will be created as the initial block when creating a new content item.

defaultBlock

required

The name of the block which will be selected by BlockPickerField .


A complete example

Below is a complete example of an app which contains one subapp of the ContentEditorSubAppDescriptor type. The content editor subapp starts at line 359.

Error rendering macro 'code-pro'

URL was not found.