刀片布局Laravel中的条件内容

时间:2015-08-11 00:11:57

标签: php laravel laravel-5 blade

我有一个master.blade.php文件,其中添加了

@include(' layouts.navbar&#39)

navbar.blade.php有一些用于创建顶部栏的代码。

如何根据用户是否登录显示顶部栏中的内容。我目前的做法是

CLGeocoder().geocodeAddressString(zip) { (placemarks, error) in
    if let result = placemarks?.first {
        let city = result.locality
        let state = result.administrativeArea
    }
}

是否有更好/更清晰的编码方式?

1 个答案:

答案 0 :(得分:0)

如果您想根据该状态返回不同的内容,则不会避免检查用户的身份验证状态。

但是,当您使用 Blade 模板时,应使用 Blade 条件标记而不是纯PHP。如果您只对用户的状态感兴趣,也无需调用 Auth :: user() - Auth :: check()就足够了。

您的代码应如下所示:

@if(Auth::check()) 
  <ul class="dropdown-menu">
    <li><a href="/myprofile">Profile</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="/auth/logout">Logout</a></li>
    <li role="separator" class="divider"></li>
    <li class="dropdown-header">Nav header</li>
    <li><a href="#">Separated link</a></li>
    <li><a href="#">One more separated link</a></li>
  </ul>
@else
  <a href ="signin">SignIn</a>
@endif