0

我一直在使用OctoberCMS ( Builder Plugin ) 创建不同的插件,效果很好。

我有一个名为Partners的插件,在Plugin.php文件代码中,我有以下代码。

Plugin.php代码

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如果有人知道并且曾经遇到过使用此 CMS,则添加标签如果有人标记只是为了我需要的帮助。

4

1 回答 1

2

您需要为每个控制器设置菜单上下文。为了Partners.php使用这个:

public function __construct()
{
    parent::__construct();             
    BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}

为了Team.php使用这个:

public function __construct()
{
    parent::__construct();             
    BackendMenu::setContext('Technobrave.Partners', 'modules', 'team');
}
于 2017-04-21T10:20:09.167 回答