دایرکتیو blade کار نمی کند

پرسیده شده
فعالیت 1080 روز پیش
دیده شده 432 بار
0

سلام جناب سامی وقت بخیر بنده  directive نوشتم اما نتونستم استفاده کنم توی فایل های blade شناسایی نمیشد متاسفانه.. ممنون میشم راهنمایی کنید.. از لاراول 8 استفاده میکنم

فایل پیوست

Safoora
Safoora

23 اردیبهشت 00

0
حذف شده

سلام 

 

به چه صورت پیاده‌سازی کردید؟

فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

23 اردیبهشت 00

0
حذف شده

در 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
فایل پیوست

Safoora

توسط

Safoora

24 اردیبهشت 00

1
حذف شده

منظورتون از اینکه توی فایل‌های Blade شناسایی نمیشه این هستش که بهتون خطا میده و یا اینکه اتفاقی نمیوفته؟

 

و موضوع دیگه اینکه داخل اون بلاکی که شرط رو تعریف کردید یک dd قرار بدید که ببینید اون اجرا میشه یا خیر، به این صورت :‌ 

 

 

 Blade::if('role',function ($role){
       dd($role);
        return auth()->check() &&  auth()->user()->hasRole($role);
    });
فایل پیوست

مهرداد سامی

توسط

مهرداد سامی

24 اردیبهشت 00