Как отобразить содержимое родительского documentNode в TYPO3 Neos?

У меня простой вопрос. У меня есть настраиваемая область содержимого на моей странице, которая называется "слева". Он добавляется в NodeType "Page" как childNode в файле yaml:

'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'
    }
}

Я могу добавить контент в эту новую область контента, и он появится во внешнем интерфейсе. Все работает просто отлично. Теперь я хочу проверить, является ли ContentCollection текущего documentNode пустым, и если это так, я хочу отобразить ContentCollection 'left' nodePath родительского documentNode.

Другими словами: подстраницы должны отображать содержимое своих родителей, если они не имеют содержимого самостоятельно в определенной области содержимого.

Как мне этого добиться?

1 ответ

Решение
left = ContentCollection {
    @override.node = ${q(node).children('left').children().count() == 0 ? q(node).parent().get(0) : node}
    nodePath = 'left'
}

Не проверено, но должно работать нормально. Обратите внимание, что это только на один уровень выше. Если вам нужно вернуться к большему количеству уровней, это нужно сделать немного по-другому.

Другие вопросы по тегам