0

我有一个简单的问题。我的页面上有一个名为“left”的自定义内容区域。它作为 yaml 文件中的 childNode 添加到 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 的“左”nodePath 的 ContentCollection。

换句话说:如果子页面在定义的内容区域内没有自己的内容,则应该呈现其父页面的内容。

我如何实现这一目标?

4

1 回答 1

2
left = ContentCollection {
    @override.node = ${q(node).children('left').children().count() == 0 ? q(node).parent().get(0) : node}
    nodePath = 'left'
}

未经测试,但应该可以正常工作。请注意,这只升级了一级。如果您需要回退到更多级别,则需要以不同的方式完成。

于 2015-03-07T23:17:51.290 回答