2017-01-31 4 views
0

私のプロジェクトでは、私はkartik SideNavウィジェットを使用しています。私はメニューをアクティブにして、それをクリックすると開きますが、実際には動作しません。実際には、sidenavでどのように使用するか$ item変数と$ type変数についてはわかりません。それを解決するために、あらかじめ過ぎてください。yart2のkartik SideNavウィジェットの使用

私のコードは以下の通りです。

$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')], 
    ]], 

], 

]);

答えて

0

$itemは、あなたの行動のIDです。actionCreateは、ここに出力されますcreateです。

は、ここに追加:

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

ProductsControllerため、どの出力するであろうproducts

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

そして、あなたは$actionIdまたは似何かに$itemの名前を変更する必要があります:オプションactive使用で

関連する問題