在yii2中使用kartik SideNav小部件

时间:2017-01-31 04:25:21

标签: yii2-advanced-app kartik-v

我在我的项目中使用kartik SideNav小部件。我希望菜单处于活动状态并在我点击它时打开但它不起作用。实际上我不知道$ item和$ type变量如何在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')],
    ]],

],

]);

1 个答案:

答案 0 :(得分:0)

$item是您操作的ID,例如actionCreate将在此处输出create

在这里添加:

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

哪个会为products输出ProductsController

在选项active中使用:

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

您应该将$item重命名为$actionId或类似的内容。