在后端区域,条目将列在“内容”菜单项下,而全局项将列在“设置”菜单项下(默认情况下)。您可以使用蓝图文件中的 navigation 属性来控制此行为。以下代码将设置一个图标并指定显示顺序。
navigation:
icon: icon-pencil
order: 200这些属性受 navigation 和 primaryNavigation 定义支持。
| Property | Description |
|---|---|
| label | specifies the menu label localization string key, required. |
| order | a numerical weight when determining the display order. |
| parent | links the navigation item to a parent item using a blueprint handle. |
| icon | an icon name from the October CMS icon collection, optional. |
| iconSvg | an SVG icon to be used in place of the standard icon, the SVG icon should be a rectangle and can support colors, optional. |
要将项目放置在“设置”区域,将 parent 设置为 settings。category 定义可以是一个字符串,也可以是一个设置常量引用,例如 CATEGORY_COLLECTIONS。
navigation:
parent: settings
category: Collections若要将项目放置到内容区域中,请将父级设置为content。
navigation:
parent: content要将该项设置为主要导航项。 需要一个 primaryNavigation 定义。
primaryNavigation:
label: Blog
icon: icon-copy
order: 500
navigation:
label: Main Menu Item要将该项目作为次级导航项放置。parent 属性应指定主导航项的 UUID 或句柄。
navigation:
parent: <handle|uuid>要禁用辅助导航,请为一个单独的蓝图定义 primaryNavigation,而不使其成为任何其他蓝图的父级。
primaryNavigation:
label: Page
icon: icon-magic
order: 500你也可以通过将 navigation 属性设置为 false 来完全禁用导航。
navigation: false使用 extraNavigation 属性注册自定义导航项,以便与蓝图一同包含。该值是一个数组,与在 后端导航规范 中找到的 sideMenu 定义匹配。以下示例包含两个使用自定义显示类型的节和分隔符,order 属性用于将项目按正确顺序对齐。
navigation:
label: Authors
parent: Blog\Post
icon: icon-user
order: 230
extraNavigation:
_authors_section:
itemType: section
label: Authors
order: 210
_authors_ruler:
itemType: ruler
order: 220您还可以注册链接到 插件引入的控制器 通过指定 url 属性。此属性应设置为控制器 URL,以下链接到 acme/blog/posts 控制器。
navigation:
label: Authors
# ...
extraNavigation:
testimonials:
label: Testimonials
order: 210
icon: icon-group
url: acme/blog/posts要在控制器内部设置导航上下文,请使用 BackendMenu facade 上的 setTailorContext 方法。您还可以使用 setTailorContextUuid 方法指定蓝图 uuid。该方法接受蓝图的 handle 或 uuid(第一个参数),以及额外导航项使用的键(第二个参数)。
BackendMenu::setTailorContext('Blog\Post', 'testimonials');
BackendMenu::setTailorContextUuid('edcd102e-0525-4e4d-b07e-633ae6c18db6', 'testimonials');