在 voyager 中隐藏小部件

Hide of widgets in voyager

我在 laravel 5.6 与 Voyager 一起工作,我想实现 voyager 的小部件,但是它向我显示了我创建的所有小部件,但我需要对普通用户隐藏一些小部件,因为有些只能由 Admin.I 访问的小部件无法隐藏显示所有小部件的小部件.. 提前致谢。

public function run()
{

     $count = \App\Organization::count();


    $string = trans_choice('Organization', $count);


    return view('voyager::dimmer', array_merge($this->config, [
        'icon' => 'voyager-edit',
        'title' => [
            'text' => "{$string} {$count}",
            'link' => route('org_data'),
        ],
        // 'image' => voyager_asset('images/widget-backgrounds/03.jpg'),
    ]));
}

您需要按如下方式更改小部件的 shouldBeDisplayed 方法:

public function shouldBeDisplayed(){
   return auth()->user()->hasRole('admin');
}

它只是检查当前用户的角色是否为管理员。

祝你好运