NodeType Presets

NodeType presets let you define property and childNode configurations once in the settings, then reuse them across multiple NodeTypes. 

While mixins share their configuration under fixed names, presets can be applied to differently named properties and child nodes.

#Property and ChildNode Presets

The presets can be applied by defining the options.preset for childNodes or properties.

Settings.yaml
Neos:
  Neos:
    nodeTypes:
      presets:
        childNodes:
          'vendor':
            defaultConstraints:
              constraints:
                nodeTypes:
                  'Neos.Neos:Content': true
                  'Neos.NodeTypes.BaseMixins:TitleMixin': true

        properties:
          'vendor':
            'textBlock':
              type: string
              defaultValue: ''
              ui:
                inlineEditable: true
                inline:
                  editorOptions:
                    placeholder: 'Vendor.Site:NodeTypes.Generic:text.placeholder'
                    autoparagraph: true
                    formatting:
                      strong: true
                      em: true
                      underline: false

Presets can then be applied to NodeTypes via:

NodeTypes.yaml
'Vendor.Package:NodeTypeName':
  childNodes:
    column1:
      options:
        preset: 'vendor.defaultConstraints'    
    column2:
      options:
        preset: 'vendor.defaultConstraints'    
  properties:
    description:
      options:
        preset: 'vendor.textBlock'