Yii2 Menüleiste die Sichtbarkeit auf einen Bestimmten Benutzer
In meinem main.php
, ich habe ein Menü:
'items' => [
['label' => 'Home', 'url' => ['/site/index']],
['label' => 'Biz Staff', 'url' => ['bizstaff/index'], 'visible' => User::isBizAdmin(), 'items' => [
['label' => 'Staff List', 'url' => 'index.php?r=user/index'],
['label' => 'Add Staff', 'url' => 'index.php?r=user/create'],
]],
['label' => 'Transaction', 'url' => ['transactions/index'], 'visible' => User::isBizAdmin() || User::isBizStaff(), 'items' => [
['label' => 'Transactions', 'url' => 'index.php?r=transactions/index'],
['label' => 'Add Transactions', 'url' => 'index.php?r=transactions/create'],
]],
Yii::$app->user->isGuest ?
['label' => 'Login', 'url' => ['/site/login']] :
['label' => 'Logout (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']
],
],
Hier bin ich angemeldet als der superadmin (beachten Sie, dass nur Hause und Logout Menü sichtbar ist superadmin Benutzer). Innerhalb der homepage (Home-Menü) ist ein Liste der Biz-Admins, der sich innerhalb einer GridView
widget. Es hat eine Aktion Spalte, wo , anzeigen, aktualisieren und löschen von icons platziert werden. Wenn ich auf das Symbol Ansicht eines bestimmten Biz Admin, es wird dann machen Sie eine detaillierte Sicht der Seite, die Biz-Admin, wo seine Namen Speichern und Liste der Mitarbeiter zu sehen sind. Auf dieser Seite gibt es eine Ansicht Speichern - Taste, die Umleitung der bizadmin
view/Seite.
Wenn superadmin landet auf bizadmin
Ansicht/Seite, die Menüleiste soll sich nun ändern:
Haus, Biz-Personal -, Transaktions -, Logout
Wie mache ich das? Ist es in der visible
- Attribut?
Alle Ihre Antworten würde sehr geschätzt werden. Ich bin derzeit stecken in diesem problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Sollten Sie verwenden
visible
Eigenschaft.'visible' => true
oder'visible' => false
.Oder Sie montieren ein array. So:
Finden Sie im Erweiterten template - https://github.com/yiisoft/yii2-app-advanced/blob/master/frontend/views/layouts/main.php
Können Sie Gebrauch machen von
Yii::$app->controller->action->id
oderYii::$app->controller->id
zu Rendern-Menüs basierend auf Ihrem Weg.