Task #50384

TypoScript page rendering restructuring

Added by Aske Ertmann about 2 years ago. Updated almost 2 years ago.

Status:Resolved Start date:2013-07-24
Priority:Must have Due date:
Assigned To:Christian Müller % Done:

100%

Category:- Spent time: -
Target version:1.0 alpha 6

Description

To have a more generic and extensible way of rendering documents (pages) in Neos we should restructure the TypoScript to follow the nature of the html tags being outputted

Example:

page = Tag
page.tagName = html
page.head = Tag
page.head.content = Array
page.head.content.stylesheets = Array
page.head.content.stylesheets.main = LinkTag
page.head.content.stylesheets.main.tagName = link
page.head.content.stylesheets.main.rel = stylesheet
page.head.content.stylesheets.main.attributes.src = main.css
page.head.content.scripts = Array
page.body = Tag
page.body.attributes.class = RawArray
page.body.attributes.class.neos = neos
page.body.attributes.class.customClass = custom-class
page.body.content = Template

Associated revisions

Revision 1ce77a1f
Added by Christian Müller almost 2 years ago

[!!!][TASK] Restructure page rendering for more flexibility

The page rendering now relies more on TypoScript to allow better
possibilities to override parts of the page rendering without
having to adapt a full template.

The rendering is structured like this now to have flexibility
and at the same time not too deeply nested TypoScript paths

prototype(TYPO3.Neos:Page) now extends TYPO3.TypoScript:Array

The following properties can be adapted by integrators:

prototype(TYPO3.Neos:Page).doctype.value - full doctype string
prototype(TYPO3.Neos:Page).htmlTag - TYPO3.TypoScript:Tag
prototype(TYPO3.Neos:Page).headTag - TYPO3.TypoScript:Tag
prototype(TYPO3.Neos:Page).bodyTag - TYPO3.TypoScript:Tag

All three have the property "attributes" which is an array
of attributes for the tag.

prototype(TYPO3.Neos:Page).head stays TYPO3.TypoScript:Array
prototype(TYPO3.Neos:Page).body stays TYPO3.Neos:Template

This change is only breaking if you rely on overwriting
the PageTemplate (prototype(TYPO3.Neos:Page).templatePath).
prototype(TYPO3.Neos:Page).body and
prototype(TYPO3.Neos:Page).head still work as before.
Additionally the variables "title" and "nodePath"
for body are no longer predefined. You can of course define
them in your TypoScript if needed.

Change-Id: I6c196f17316110733306baca679d82729a3ddc01
Resolves: #50384

History

#1 Updated by Christian Müller almost 2 years ago

  • Assigned To set to Christian Müller

#2 Updated by Christian Müller almost 2 years ago

  • Status changed from New to Accepted

#3 Updated by Gerrit Code Review almost 2 years ago

  • Status changed from Accepted to Under Review

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#4 Updated by Gerrit Code Review almost 2 years ago

Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#5 Updated by Gerrit Code Review almost 2 years ago

Patch set 4 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#6 Updated by Gerrit Code Review almost 2 years ago

Patch set 5 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#7 Updated by Gerrit Code Review almost 2 years ago

Patch set 6 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#8 Updated by Gerrit Code Review almost 2 years ago

Patch set 7 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/24563

#9 Updated by Christian Müller almost 2 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

Applied in changeset commit:1ce77a1fcb13eee52629e3775536ab11d7b844bb.

Also available in: Atom PDF