Menu OctoberCMS更改后端菜单组织
我想更改OctorberCMS后端菜单组织。 例子:Menu OctoberCMS更改后端菜单组织,menu,backend,octobercms,Menu,Backend,Octobercms,我想更改OctorberCMS后端菜单组织。 例子: 我想从Rainlab插件静态页面-菜单的侧栏移动到OctoberCMS侧栏,或者可以将Rainlab插件静态页面-菜单添加到主菜单。您可以在Plugin.php文件中使用registerNavigation函数完成此操作。例如,此代码定义顶部菜单和侧栏菜单: return [ 'title' => [ 'label' => 'title', 'url' => B
我想从Rainlab插件静态页面-菜单的侧栏移动到OctoberCMS侧栏,或者可以将Rainlab插件静态页面-菜单添加到主菜单。您可以在Plugin.php文件中使用registerNavigation函数完成此操作。例如,此代码定义顶部菜单和侧栏菜单:
return [
'title' => [
'label' => 'title',
'url' => Backend::url('...'),
'icon' => 'icon-cube',
'permissions' => ['access.*'],
'order' => 501,
'sideMenu' => [
'title' => [
'label' => '....',
'url' => Backend::url('....'),
'icon' => 'icon-slack',
'permissions' => ['access'],
'order' => 500,
],
此外,您必须在控制器中定义以下内容:
BackendMenu::setContext('Author.Plugin Name', 'plugin', 'model');
我知道这可能是很明显的,但我还是会说,只是为了确定。如果您想更改非作者插件提供的后端菜单项的外观或位置,请不要自己对这些文件进行任何更改。每次更新插件时,您都会丢失所有这些自定义更改 更好的办法是创建自己的插件,使用第三方插件作为依赖项,然后对这个新插件进行必要的更改 示例:您希望更改RainLab.User插件后端菜单项的显示 创建一个新插件并根据需要命名。例如:Acme.UserExtension。 现在,在这个新插件的
plugin.php
文件中,您可以添加对RainLab.User插件的依赖项,然后隐藏它的菜单项,如下所示:
public $require = ['RainLab.User'];
public function boot()
{
/** Add a side-menu item */
Event::listen('backend.menu.extendItems', function($manager) {
$manager->addSideMenuItem('RainLab.User', 'user', [
'payments' => [
'label' => '...'
]
]);
});
/** Add a custom main-menu item */
Event::listen('backend.menu.extendItems', function($manager) {
$manager->addMainMenuItem('Acme.UserExtension', 'user');
});
/** Remove the original main-menu item */
Event::listen('backend.menu.extendItems', function($manager) {
$manager->removeMainMenuItem('RainLab.User', 'user');
});
}
正如你所见,如果你想要的话,你可以完全删除一个你不拥有的插件的菜单项。您可以像上面所示那样扩展它,只需使用registerNavigation()
方法来完成此扩展插件所需的操作。您可能需要复制一些您确实希望从原始父插件保留的菜单项,但现在您可以添加一些您自己的菜单项或删除不需要的菜单项
有关如何执行此操作的更多详细信息,请参见->
希望这不会太复杂,可以帮助你解决问题