如果Admin登录,尝试在layout.blade.php文件的导航栏中显示一个按钮(例如Admin Panel按钮)。如何编写代码?
<ul class="nav navbar-nav navbar-right">
<li><a href="/">Home</a></li>
<li><a href="/farmerPoint">Point List</a></li>
<li><a href="/crop">Crop List</a></li>
<li><a href="/AboutUs">About Us</a></li>
<li><a href="/SiteAdmin">Site Admin</a></li>
<li><a href="/ContactUs">Contact Us</a></li>
thisbutton -----------> <li><a href="/AdminPanel">Admin Panel</a></li>
@if(Auth::guest())
<li><a href="/login">Log in</a></li>
@else
<li><a href="/logout">Logout</a></li>
@endif
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="/">Home</a></li>
<li><a href="/farmerPoint">Point List</a></li>
<li><a href="/crop">Crop List</a></li>
<li><a href="/AboutUs">About Us</a></li>
<li><a href="/SiteAdmin">Site Admin</a></li>
<li><a href="/ContactUs">Contact Us</a></li>
@if (Auth:check() && Auth::user()->isAdmin())
<li><a href="/AdminPanel">Admin Panel</a></li>
@endif
@if(Auth::guest())
<li><a href="/login">Log in</a></li>
@else
<li><a href="/logout">Logout</a></li>
@endif
</ul>
如果在Users表中有一个名为is_admin的布尔值,则可以执行此操作。
@if(Auth::check() && Auth::user()->is_admin)
<li><a href="/AdminPanel">Admin Panel</a></li>
@endif
我认为你可以使用blade函数@unles(Auth::check())
You are not Signed in
@endunless
应该是:
@if(Auth::check())
@if(Auth::user()->is_admin == true)
<li><a href="/AdminPanel">Admin Panel</a></li>
@endif
@endif
如果你要做@if(Auth::check() && Auth::user()->is_admin == true)
,你将收到访客的trying to get property of non-object
。
您也可以将其简化为以下内容:
@if(session()->has('admin')
<li><a href="/AdminPanel">Admin Panel</a></li>
@endif
在这种情况下,在您的登录控制器方法中,您将应用以下内容:
if(Auth::user()->is_admin == true)
{
session()->put('admin', true)
}