如何以另一种样式制作Sidenav的活动物品



我希望我的sidenav在yii2应用程序中的kartik中的项目在活动中更改颜色(单击并打开(。

对不起,我对PHP和YII非常新,这个问题可能很明显,但我真的在这里堆叠。

我已经尝试使用文档中解释的"主动"选项,但它不起作用。它没有显示任何错误,但行不通。我有一个文件 AdminMenu.php 写了Sidenav。和 panel.php 查看文件我显示的文件。

另外,我尝试添加Echo

$this->render('adminMenu'['currentPage'=>'admin/personal']);

但它显示错误,因此我现在对此进行评论。

adminmenu.php:

class adminMenu extends Widget{
    public function init(){
        $curentpage = Yii::$app->controller->id ;
        parent::init();
        ob_start();

    echo SideNav::widget([
        'type' => SideNav::TYPE_PRIMARY,
        'headingOptions' => ['class'=>'head-style'],
        'items' => [
            ['label' => 'Personal', 
             'url' => ['/admin/personal'], 
             'active' => ($curentpage == 'admin/personal')],
            ['label' => 'Clients', 
             'url' => ['/admin/clients'], 
             'active' => ($curentpage == 'admin/clients')],
           ...
    ]);

panel.php:

if(Yii::$app->user->can('Admin')){
    echo adminMenu::widget();
    //echo $this->render('adminMenu'['currentPage'=>'admin/personal']);
}

我认为你错误在这行

$ curentPage = yii :: $ app-> controller-> id;

yii :: $ app-> controller-> id仅返回控制器的名称,在此CASI中将为"管理员",然后您比较"管理员"永远不会平等。

要这样做,您可以进行实际控制器和这样的实际操作:

$ curentPage = yii :: $ app-> controller-> id。

比较将是成功,"主动"类添加到您的侧边栏

相关内容

  • 没有找到相关文章

最新更新