OK伙计们,最终,我能够使它工作。这就是我下面
比方说做,我有2个插件叫做合作伙伴和属性。
在合作伙伴插件,我在我的Plugin.php文件中编写了类似这样的代码。
插件\ technobrave \合作伙伴\ Plugin.php
<?php namespace Technobrave\Partners;
use System\Classes\PluginBase;
use Backend;
use Event;
class Plugin extends PluginBase
{
public function registerNavigation()
{
return [
'modules' => [
'label' => 'Modules',
'url' => Backend::url('technobrave/properties/properties'),
'icon' => 'icon-bars',
'permissions' => ['Technobrave.Property.*'],
'sideMenu' => [
'properties' => [
'label' => 'Properties',
'icon' => 'icon-home',
'url' => Backend::url('technobrave/properties/properties'),
'permissions' => ['Technobrave.Property.*']
],
'partner' => [
'label' => 'Partners',
'icon' => 'icon-thumbs-up',
'url' => Backend::url('technobrave/partners/partners'),
'permissions' => ['Technobrave.Partner.*']
],
]
]
];
}
在这里,你可以在上面看到,我的头菜单链接会重定向到属性插件按我的要求和左侧边栏菜单,我的第一个链接也将被重定向到属性插件和下一个子菜单链接将被重定向到合作伙伴插件。
然后我去了合作伙伴控制器,并把代码放在下面。
插件\ technobrave \合作伙伴\ \控制器Partners.php
<?php namespace Technobrave\Partners\Controllers;
use Backend\Classes\Controller;
use BackendMenu;
class Partners extends Controller
{
public function __construct()
{
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'partner');
}
}
这里上面,你可以看到,我刚才执行菜单为合作伙伴插件能够显示它的时候我处于合作伙伴列表或CRUD操作或某处。
我为
属性插件要做的事
类似的事情,以便能够显示菜单属性插件。这是我的代码的样子。
插件\ technobrave \ \性能\控制器Properties.php
<?php namespace Technobrave\Properties\Controllers;
use Backend\Classes\Controller;
use BackendMenu;
class Properties extends Controller
{
public function __construct() {
parent::__construct();
BackendMenu::setContext('Technobrave.Partners', 'modules', 'properties');
}
}
这里有一点要注意,这个代码BackendMenu::setContext('Technobrave.Partners', 'modules', 'properties');
最后一个参数是比我们已经把不同的合作伙伴插件。 BackendMenu::setContext('Technobrave.Partners', 'modules', 'properties');
这是设置为左侧边栏列表中的默认选定菜单。
希望这会有所帮助。
嗨@MittulAtTechnoBrave你有没有设法解决有多个插件的一个菜单? – Nilan