OcotberCMS - 插件启动功能无法按预期工作

时间:2018-03-30 09:49:00

标签: php octobercms

我安装了最新版本的OctoberCMS( Current Build - 434 )。

以下是我的插件Plugin.php文件之一。

<?php namespace Technobrave\Users;

use System\Classes\PluginBase;
use Backend\Models\User as BackendUserModel;
use Backend\Controllers\Users as BackendUsersController;

use Event;
use \Backend\Facades\BackendAuth as BackendAuth;
use Db;
use Backend;

class Plugin extends PluginBase
{ 

    public function registerNavigation()
    {
        $user = BackendAuth::getUser();

        if(!empty($user))
        {

            // Adding "Custom Settings" menu of one of our local plugins 
            if($user->role['code'] == 'publisher')
            {  
                 return [
                    'modules' => [
                                    'label'       => 'Settings',
                                    'icon'        => 'icon-cog',
                                    'url'         => Backend::url('technobrave/themesettings/themesettings/update/1'),
                                ]
                ];



            }


        }
    }

    public function boot()
    { 

        \App::before(function() {

            $user = BackendAuth::getUser();  



            if(!empty($user)){


                if($user->role['code'] == 'publisher')
                {

                    Event::listen('backend.menu.extendItems', function($navigationManager) 
                    {                                

                          $navigationManager->removeMainMenuItem('October.System', 'system');    // Hiding Settings menu 
                          $navigationManager->removeMainMenuItem('October.Cms', 'cms');   // Hiding CMS menu 
                          $navigationManager->removeMainMenuItem('October.Cms', 'media'); // Hiding Media menu                           
                          $navigationManager->removeMainMenuItem('RainLab.Builder', 'Builder');    // Hiding Builder menu 
                    });

                }               

            }

        });

    }
}

正如您所看到的,这里我只是检查当前登录用户的信息,并根据该信息,我只是根据我的要求显示或隐藏几个菜单。

这个代码在这个新的OctoberCMS版本之前工作得很好。

目前,我的boot()功能无法正常工作。

如果我这样做,

\App::before(function() {

        $user = BackendAuth::getUser(); 
        print_r($user);
        exit;
});

它没有显示任何数据,但相同的功能在我的registerNavigation()函数中正常工作。

不知道这是否是OctoberCMS的新版本问题,但它在我的旧版OctoberCMS版本中工作得非常好。

有人可以指导我解决这个问题。

0 个答案:

没有答案