Task #50384
TypoScript page rendering restructuring
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
[!!!][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.