carbon / navigation
Neos CMS 的导航和前端重定向助手
Requires
- carbon/eel: ^1.7 || ^2.0
- neos/neos: ^5.3 || ^7.0 || ^8.0
- neos/seo: *
Suggests
- carbon/frontend: For mobile menu handling
README
Neos CMS 的 Carbon.Navigation 包
本包提供了在 Neos 网站中实现导航的各种辅助功能。
节点类型
所有节点类型都被标记为抽象。因此,如果您想使用它们,必须将它们包括为超类型。您可以在此处了解更多关于节点类型定义的信息:here。
Carbon.Navigation:NotInMenu
隐藏属性 _hiddenInIndex
。在 NodeTypes.NotInMenu.yaml 中定义
Carbon.Navigation:HideSeo
关闭所有类型的 SEO 属性。在 NodeTypes.HideSeo.yaml 中定义
Carbon.Navigation:RedirectToParentPage
(仅在实时上下文中) 将用户重定向到父页面。在 NodeTypes.RedirectToParentPage.yaml 和 ToParentPage.fusion 中定义
Carbon.Navigation:RedirectToFirstChildPage
(仅在实时上下文中) 如果有可用,将用户重定向到第一个子页面。如果没有,则用户将被重定向到父页面。在 NodeTypes.RedirectToFirstChildPage.yaml 和 ToFirstChildPage.fusion 中定义
Carbon.Navigation:References
插入一个名为 navigationreferences
的属性。如果您想创建一个导航并允许编辑器选择应包含哪些文档,这将很有用。然而,您也可以将自定义集合传递给 Fusion 原型。在 NodeTypes.References.yaml 和 References.fusion 中定义
菜单 Fusion 原型
您可以在 Settings.yaml 中编辑每个融合原型的默认行为。您可以通过 Settings.yaml 或直接在相应的融合原型中设置配置。这个设置是为了提供一个简单的方式来更改一些基本设置,而无需编写融合代码。如果没有条目,则不会渲染任何标记。不再有空的 <ul>
!
所有菜单原型的属性
renderClass
每个菜单类型的设置中的 renderClass
条目定义了特定菜单的 CSS 类。它有三个子键:list
、element
和 link
。每个键都有进一步的条目。如果键设置为 false
,则不会渲染此类类。
查看 Settings.yaml 以获取不同菜单类型的默认值
Carbon.Navigation:Mixin
菜单基本混入。基于 Neos.Neos:MenuItems。
定义在 Mixin.fusion
Carbon.Navigation:Menu
渲染节点项的菜单。基于 Neos.Neos:MenuItems
。除了以下默认属性外,还提供了以下属性:
定义在 Menu.fusion
Carbon.Navigation:References
根据检查器中设置的节点提供链接列表。基于 Carbon.Navigation:Mixin
。将 itemCollection
设置为具有设置 navigationreferences
属性的最近实例 Carbon.Navigation:References
。默认 maximumLevels
为 1
,默认 renderHiddenInIndex
为 true
。
Carbon.Navigation:Breadcrumb
根据当前节点提供基于面包屑的导航。基于 Carbon.Navigation:Mixin
。默认 listTag
为 'ol'
。
Carbon.Navigation:Dimensions
通过使用此Fusion对象创建指向其他节点变体的链接(例如,其他维度中当前节点的变体)。扩展 Neos.Neos:DimensionsMenu。如果没有设置特定的 dimension
,则 Neos.Neos:DimensionsMenu
原型输出节点的标签,而不是维度标签。此原型还修复了此错误行为。
Carbon.Navigation:Label
一个小助手,用于获取菜单条目的标签。默认情况下,它读取 item.label
属性。如果您只想输出标题,可以修改原型,例如如下:
prototype(Carbon.Navigation:Label) { renderer = ${q(props.item.node).property('title')} }
定义在 Label.fusion