سلام جناب سامی وقت بخیر بنده directive نوشتم اما نتونستم استفاده کنم توی فایلهای blade شناسایی نمیشد متاسفانه.. ممنون میشم راهنمایی کنید.. از لاراول 8 استفاده میکنم
سلام
به چه صورت پیادهسازی کردید؟
در PermissionServiceProvider به صورت زیر نوشتم:
public function boot() { Permission::all()->map(function($permission){ \Illuminate\Support\Facades\Gate::define($permission->name,function($user) use ($permission){ return $user->hasPermission($permission); }); }); Blade::if('role',function ($role){ return auth()->check() && auth()->user()->hasRole($role); }); }
و در blade به صورت زیر ازش استفاده کردم:
@role('superadmin') <li><a href="{{route('users.index')}}">مدیریت پنل</a></li> @endrole
منظورتون از اینکه توی فایلهای Blade شناسایی نمیشه این هستش که بهتون خطا میده و یا اینکه اتفاقی نمیوفته؟
و موضوع دیگه اینکه داخل اون بلاکی که شرط رو تعریف کردید یک dd قرار بدید که ببینید اون اجرا میشه یا خیر، به این صورت :
Blade::if('role',function ($role){ dd($role); return auth()->check() && auth()->user()->hasRole($role); });