如何在 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'
}

未经测试,但应该可以正常工作。 请注意,这只会上升一个级别。如果您需要回退到更多级别,则需要做一些不同的事情。