lew*_*s4u 6 laravel-5.2 laravel-blade
在 laravel Blade 模板中,我们可以使用以下代码排除 HTML 的某些部分:
@if (Auth::user())
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
Run Code Online (Sandbox Code Playgroud)
如果用户通过身份验证,则显示主页和管理链接,如果用户未通过身份验证,则仅显示主页链接。
我的问题是如何在这里检查用户是否是管理员?
我有来自 laravel 的默认登录系统,我刚刚在表 users -> ('admin') 中添加了一列,tinyint 值为 1,在这个视频 https://www.youtube.com/watch?v=tbNKRr97uVs 中, 我找到了检查用户是否为管理员的代码
if (!Auth::guest() && Auth::user()->admin )
Run Code Online (Sandbox Code Playgroud)
它在 AdminMiddleware.php 中工作,但在刀片中不起作用。如何使这个工作?
小智 7
我发现这么啰嗦,检查是否登录,检查角色,被添加到我的刀片文件周围来分散注意力。您可以考虑添加自定义刀片指令。将这样的内容添加到 AppServiceProvider boot() 函数
Blade::if('admin', function () {
if (auth()->user() && auth()->user()->admin) {
return 1;
}
return 0;
});
Run Code Online (Sandbox Code Playgroud)
在刀片中使用
@admin
<p>Only admin sees this</p>
@endadmin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20171 次 |
| 最近记录: |