Php OctoberCMS注册表激活当前活动子菜单链接的错误状态
我一直在使用()创建不同的插件,效果很好 我有一个名为Partners的插件,在plugin.php文件代码中,我有以下代码 Plugin.php代码Php OctoberCMS注册表激活当前活动子菜单链接的错误状态,php,octobercms,octobercms-backend,octobercms-plugins,Php,Octobercms,Octobercms Backend,Octobercms Plugins,我一直在使用()创建不同的插件,效果很好 我有一个名为Partners的插件,在plugin.php文件代码中,我有以下代码 Plugin.php代码 public function registerNavigation() { return [ 'modules' => [ 'label' => 'Modules', 'url' => B
public function registerNavigation()
{
return [
'modules' => [
'label' => 'Modules',
'url' => Backend::url('technobrave/partners/partners'),
'icon' => 'icon-bars',
'permissions' => ['Technobrave.Partner.*'],
'sideMenu' => [
'partner' => [
'label' => 'Partners',
'icon' => 'icon-thumbs-up',
'url' => Backend::url('technobrave/partners/partners'),
'permissions' => ['Technobrave.Partner.*']
],
'team' => [
'label' => 'Team',
'icon' => 'icon-group',
'url' => Backend::url('technobrave/team/team'),
'permissions' => ['Technobrave.Team.*']
]
]
]
];
}
下面是我的Partners.php控制器文件代码
Partners.php控制器代码
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
除了我当前的活动课程外,一切正常,即使我在合作伙伴页面上,它仍然选择“团队”作为当前菜单链接。下面是带有浏览器URL的屏幕截图,以便更好地理解
正如您在上面所看到的,我在合作伙伴页面上,它仍然将当前活动的URL显示为团队页面。有人能帮我处理这件事吗
谢谢
PS:添加了
PHP
tag if someone tag,如果有人知道并且曾经使用过此CMS,我需要帮助。您需要为每个控制器设置菜单上下文。
对于Partners.php
使用以下命令:
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
对于Team.php
使用以下命令:
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
您需要为每个控制器设置菜单上下文。 对于
Partners.php
使用以下命令:
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
对于Team.php
使用以下命令:
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
Sry,我没注意到你的主菜单也叫partners。
setContext
函数的第二个参数采用父项url,第三个参数应为页面url OK,检查最新编辑。我查看了我自己的plugin.php
作为参考,这应该会更好,我忽略了一个事实,即您的主菜单项也被称为partners。setContext
函数的第二个参数采用父项url,第三个参数应为页面url OK,检查最新编辑。我检查了我自己的plugin.php
作为参考,这应该更好