如何在 TYPO3 Neos 中渲染父文档节点的内容?
How to render content of parent documentNode in TYPO3 Neos?
我有一个简单的问题。我的页面上有一个名为 "left" 的自定义内容区域。它作为 yaml 文件中的子节点添加到 NodeType "Page":
'TYPO3.Neos.NodeTypes:Page':
properties:
[...]
childNodes:
'left':
type: 'TYPO3.Neos:ContentCollection'
在我的 TypoScript 中,我将其添加到 page.body.content 部分:
page.body.content {
main = PrimaryContent {
nodePath = 'main'
}
left = ContentCollection {
nodePath = 'left'
}
}
我可以向这个新的内容区域添加内容,它会显示在前端。一切正常。现在我想检查当前 documentNode 的 ContentCollection 是否为空,如果是这样我想渲染父 documentNode 的 'left' nodePath 的 ContentCollection。
换句话说:如果子页面在定义的内容区域中没有自己的内容,则应呈现其父页面的内容。
如何实现?
left = ContentCollection {
@override.node = ${q(node).children('left').children().count() == 0 ? q(node).parent().get(0) : node}
nodePath = 'left'
}
未经测试,但应该可以正常工作。
请注意,这只会上升一个级别。如果您需要回退到更多级别,则需要做一些不同的事情。
我有一个简单的问题。我的页面上有一个名为 "left" 的自定义内容区域。它作为 yaml 文件中的子节点添加到 NodeType "Page":
'TYPO3.Neos.NodeTypes:Page':
properties:
[...]
childNodes:
'left':
type: 'TYPO3.Neos:ContentCollection'
在我的 TypoScript 中,我将其添加到 page.body.content 部分:
page.body.content {
main = PrimaryContent {
nodePath = 'main'
}
left = ContentCollection {
nodePath = 'left'
}
}
我可以向这个新的内容区域添加内容,它会显示在前端。一切正常。现在我想检查当前 documentNode 的 ContentCollection 是否为空,如果是这样我想渲染父 documentNode 的 'left' nodePath 的 ContentCollection。
换句话说:如果子页面在定义的内容区域中没有自己的内容,则应呈现其父页面的内容。
如何实现?
left = ContentCollection {
@override.node = ${q(node).children('left').children().count() == 0 ? q(node).parent().get(0) : node}
nodePath = 'left'
}
未经测试,但应该可以正常工作。 请注意,这只会上升一个级别。如果您需要回退到更多级别,则需要做一些不同的事情。