1
私はAdminLTEを使用しています。Lara EntrustはMyMenu Filter.phpファイルを作成して、権限メニューに従って自分のオプションをフィルタしました。Laratrustでのメニューフィルタの許可
adminlte.php
'menu' => [
'MAIN NAVIGATION',
[
'text' => 'Blog',
'url' => 'admin/blog',
'permission' => 'create-post',
],
// CODE...
],
'filters' => [
// CODE...
App\MyMenuFilter::class,
],
MyMenuFilter.php
<?php
namespace App;
use JeroenNoten\LaravelAdminLte\Menu\Builder;
use JeroenNoten\LaravelAdminLte\Menu\Filters\FilterInterface;
class MyMenuFilter implements FilterInterface
{
public function transform($item, Builder $builder)
{
if (isset($item['permission']) && \Laratrust::can($item['permission'])) {
return false;
}
return $item;
}
}
"ブログ" メニューのマイオプション作成ポストを許可が必要です。しかし、mymenufilter.phpの "if"はfalseを返し、メニューを作成しません。
しかし、ユーザーが持っていないアクセス許可を置くと、それが表示されます。