Task #49951
Node structure / layout
Status: | New | Start date: | 2013-07-11 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | - | % Done: | 0% |
|
Category: | - | Spent time: | - | |
Target version: | 1.0 beta 1 |
Description
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.
Associated revisions
[!!!][TASK] Remove automagic creation of ContentCollections on pages
ContentCollections are no longer auto created on rendering of a
page. Instead they need to be defined as childNodes of the Page
Node. Neos predefines a "main" section by default which can be
overriden or added to in the site package. Additionally you can
of course create your own Document Type with a specific child
node structure.
This is breaking if you use more than the "main" section in your
site. In this case you have to define those additional sections
in the NodeTypes.yaml of your site package.
Related: #49951
Change-Id: I1017c59d89a67447667d7a3ed0dc3bd92cd6dd0d
Reviewed-on: https://review.typo3.org/24338
Reviewed-by: Christian Mueller
Tested-by: Christian Mueller
[TASK] SiteKickstarter should generate NodeTypes.yaml
This creates lets the SiteKickstarter generate a NodeTypes.yaml
with explanation and code snippet to add more content areas to
your website.
Related: #49951
Change-Id: I61a220c8c9c92932d6ec75875c76084c42908b37