I hereby claim:
- I am hlubek on github.
- I am hlubek (https://keybase.io/hlubek) on keybase.
- I have a public key whose fingerprint is 07C3 2231 EE93 14EB 9BAF 8562 968C 0CAB A521 36D6
To claim this, I am signing this object:
// Extend the Page prototype | |
prototype(TYPO3.Neos.NodeTypes:Page) { | |
// body or head depending on the position | |
body.javascripts { | |
prism = TYPO3.TypoScript:Tag { | |
tagName = 'script' | |
attributes { | |
src = TYPO3.TypoScript:ResourceUri { | |
path = 'resource://Networkteam.LearnNeos/Public/Scripts/Vendor/prism.js' | |
} |
I hereby claim:
To claim this, I am signing this object:
# Override the default root matcher to render a document node with a prototype of the same name | |
root.default { | |
type = ${q(node).property('_nodeType')} | |
renderPath > | |
} | |
# | |
# A blog Post document node renderer | |
# |
# | |
# Adapt MultiColumn rendering to Bootstrap | |
# | |
prototype(TYPO3.Neos.NodeTypes:MultiColumn) { | |
attributes.class = ${'row-fluid columns-' + q(node).property('layout')} | |
columns.iterationName = 'iterator' | |
} | |
prototype(TYPO3.Neos.NodeTypes:MultiColumn) { | |
@override { | |
columnLayout = ${q(node).property('layout')} |
TYPO3: | |
Neos: | |
contentDimensions: | |
dimensions: | |
'locales': | |
defaultPreset: 'all' | |
label: 'Locale' | |
icon: 'icon-language' | |
presets: | |
'all': |
{ | |
"defaults": { | |
"gerrit_api_endpoint": "https://review.typo3.org/", | |
"gerrit_git": "git.typo3.org" | |
}, | |
"changes": [ | |
{ | |
"name": "[FEATURE] Allow conversion from objects to simple types", | |
"type": "gerrit", | |
"path": "Packages/Framework/TYPO3.Flow", |
SELECT ni.* | |
FROM ( | |
SELECT identifier, MIN(FIND_IN_SET(locale, 'en_US,en_ZZ,mul_ZZ')) AS localePos FROM `typo3_typo3cr_domain_model_nodedata` n WHERE `parentpath` = "/sites/neosdemotypo3/subpage/main" AND locale IN ('en_US', 'en_ZZ', 'mul_ZZ') GROUP BY identifier ORDER BY `sortingindex` | |
) nn | |
JOIN typo3_typo3cr_domain_model_nodedata ni | |
ON ni.identifier = nn.identifier AND FIND_IN_SET(ni.locale, 'en_US,en_ZZ,mul_ZZ') = nn.localePos |
prototype(Acme.Demo:IncludeCss) < prototype(TYPO3.TypoScript:Tag) { | |
tagName = 'link' | |
attributes { | |
type = 'text/css' | |
rel = 'stylesheet' | |
href = TYPO3.TypoScript:ResourceUri | |
} | |
} | |
page = Page { |
START TRANSACTION; | |
DELETE FROM `typo3_typo3cr_domain_model_nodedata` WHERE path = '/sites/neostypo3org'; | |
UPDATE `typo3_typo3cr_domain_model_nodedata` SET path = REPLACE(path, '/sites/neostypo3org/homepage', '/sites/neostypo3org'), pathhash = MD5(REPLACE(path, '/sites/neostypo3org/homepage', '/sites/neostypo3org')), parentpath = REPLACE(parentpath, '/sites/neostypo3org/homepage', '/sites/neostypo3org') WHERE path LIKE '/sites/neostypo3org/homepage%'; | |
UPDATE typo3_typo3cr_domain_model_nodedata SET parentpath = '/sites' WHERE path = '/sites/neostypo3org'; | |
COMMIT; | |
# Clear routing cache after that! |
Do you remember the good old days?
What is TypoScript? Various myths and speculations exist about that, well, programming language? No, it never was a programming language. Though it could be used to express logic. Is it a configuration language then? It's often used to configure settings, but the scope is certainly blurry.
The power of TypoScript - if used well - is the declarative approach of expressing the rendering and execution of various parts of the system. And a declaration in TypoScript is never final, but can be changed at a later time by another extension or template.