Task #49951

Node structure / layout

Added by Aske Ertmann over 8 years ago. Updated about 8 years ago.

Should have
Target version:
Start date:
Due date:
% Done:


Estimated time:


We need a concept for node structure that works for documents and content. Currently we have a concept of childNodes which are automatically generated for content. Instead we should have concept of node structure that is used for both documents and content. Instead of using TypoScript to define the structure and create it during rendering, the structure should be configured in the node type to avoid a dependency on TypoScript and prevent modification of nodes during the rendering.

This would make it possible to provide certain layouts that matches your page templates / TypoScript. And then define templates based on the layout structure with a TypoScript case matcher.

Neos should provide some common structure names like main, header, footer etc. as a convention to allow easy switching between node types / layouts.

  • Creation of node structure should not be done during rendering (currently done as a hack in DefaultContentCollectionImplementation)
  • Adjustment of node structure needs to happen when creating a node, changing the node type or updating the layout property
  • The layouts feature should be implemented outside the scope of TYPO3CR as a concern of Neos
  • Layouts should be configured in the NodeTypes.yaml in an extensible way (e.g. prepend package key as in TypoScript to the name)

This should separate structure from presentation, which is for database operations etc.

We need a way to select the default layout so it can just inherit from it's parents. In addition to that it would be very useful to set the default for all children. Like in gridelements for CMS, where the layout can be chosen for the current page and for the subpages.

Also available in: Atom PDF