申し訳ありませんが、質問はあなたのために愚かですが、私はtアウトを考え出すことができないようです。私は2つの機能を持っていますisLogged
とisAdmin
。彼らは完全に動作し、それらに基づいて私は自分のnavbar上にリンクを作成したい。私は何をしようとしていることは基本的に私はここで作成したいのか、このブレードテンプレートのNavbar条件ユーザー/管理者Laravel
<li>Non Logged users link visible for everyone visiting the site</li>
@if(isLoggedIn() && !isAdmin())
<li>LoggedIn Link</li>
@if(isLoggedIn() || isAdmin())
<li><a href="">Both</a></li>
@endif
<li><a href="#">Logged In link</a></li>
@elseif(isAdmin())
<li><a href="#">Admin Dashboard</a></li>
@else
<li><a href="#">Login</a></li>
@endif
である管理者のために表示されていないいくつかのリンクを持っているadmins
ではありませんusers
ログイン
- すべてです。
admins
には、すべてがログインしたusers
が表示されます。- すべて
users
に関係なく、admins
または通常のユーザーはリンクへのリンクを追加できます。
@If - >(!BaseController :: isLoggedIn()& & BaseController :: isAdmin())をチェックし、ユーザーがログインしたがこれが示す必要がある場合、私は別のものを配置した内側に、その後
を管理されていない場合<li><a href="">Both</a></li>
はAdmins
にあり、ユーザーはログインしているので...しかし、このリンクはログに記録されていますUser
。 On Admin
は表示されません。
私はACLを認識していますが、実際にはaclは必要ありません。私はこのような条件でこれを達成したい。
条件の作成方法は?あなたの2つのヘルパー関数を想定すると、この1
@if(isLoggedIn() && !isAdmin())
<li>LoggedIn Link</li>
@endif
@if(isLoggedIn() || isAdmin())
<li><a href="">Both</a></li>
@endif
@if(isAdmin())
<li><a href="#">Admin Dashboard</a></li>
@else
<li><a href="#">Login</a></li>
@endif
「両方」のリンクはあなたが持っている場所にはありません。そのブロックの中であなたがすでにユーザーが管理者ではないと判断した場合、isAdmin()はtrueを返すことはできません。 –
はい、どちらのロールでも内部にあるリンクを表示したい場合はどこですか? – VLS
isLogged()を使用するだけですか?両方のために真実を返しませんか?ユーザーがログインしている場合にtrueを返す 'Auth :: check()'もあります。 –