2017-01-31 5 views
0

Ich benutze kartik SideNav Widget in meinem Projekt. Ich möchte das Menü aktiv und öffnen, wenn ich darauf klicke, aber es funktioniert nicht. Wirklich weiß ich nicht über $ item und $ type Variablen, die in der Sitenav verwenden. Danke im Voraus für die Lösung.Verwenden von kartik SideNav Widget in yii2

mein Code ist unten.

$type = SideNav::TYPE_PRIMARY; 
$item = Yii::$app->controller->action->id; 

echo SideNav::widget([ 
'type' => $type, 
'encodeLabels' => false, 

'items' => [ 

    ['label' => 'Home', 'icon' => 'home', 'url' => Url::to(['/site/index']), 'active' => ($item == 'index')], 

    ['label' => '<span class="pull-right badge">2</span> Products', 'icon' => 'book', 'items' => [ 
     ['label' => '<span class="pull-right badge"></span> Products', 'url' => Url::to(['/products']), 'active' => ($item == 'http://localhost/test_project_yii2/backend/web/products')], 
     ['label' => '<span class="pull-right badge"></span> Add Product', 'url' => Url::to(['/products/create']), 'active' => ($item == '/products/create')], 
    ]], 

], 

]);

Antwort

0

$item ist ID Ihrer Aktion, wie actionCreate wird hier ausgegeben create.

hinzufügen hier:

$controllerId = Yii::$app->controller->id; 

Welche ausgibt products für ProductsController.

In Option active Verwendung:

'active' => $controller == 'products' && $item == 'create' 

Und Sie sollten $item-$actionId oder etwas ähnlich umbenennen.

Verwandte Themen