我需要显示一个面包屑菜单,跳过前两个级别。
Menu
类型的菜单有一个属性entryLevel
来控制菜单的起始位置,但Breadcrumb
的情况似乎并非如此。(至少没有效果。)
有没有办法在Neos中实现这一点?
Breadcrumb在TYPO3.Neos/Resources/Private/TypoScript/Prototypes/Breadcrumb.ts2
中定义,您可以在站点包的Root.ts2中覆盖其中的值。因此,您可以更改templatePath
并使用f:for
中的迭代器来处理它,或者更好的是,只限制(切片)TS2级别上传递给模板的items
。把它翻译成代码,你有Your.Site.Package/Resources/Private/TypoScript/Root.ts2
和你的页面定义,只需更改Breadcrumb部分:
page = Page {
...
body {
templatePath = 'resource://Your.Site.Package/Private/Templates/Page/Default.html'
sectionName = 'body'
parts {
menu = Menu
breadcrumb = Breadcrumb {
# replace items with itemCollection if you're using BreadcrumbMenu (Neos 2+)
items = ${q(node).add(q(node).parents('[instanceof TYPO3.Neos:Document]')).slice(0, -2).get()}
}
}
...