Yii2 Kartik-V SideNav小部件传递url方法

Yii2 Kartik-V SideNav小部件传递url方法,url,navigation,widget,yii2,Url,Navigation,Widget,Yii2,如何在kartik v sidenav小部件中传递url方法 echo SideNav::widget([ 'type' => $type, 'encodeLabels' => false, 'heading' => $heading, 'items' => [ Yii::$app->user->isGuest ?

如何在kartik v sidenav小部件中传递url方法

      echo SideNav::widget([ 
           'type' => $type, 'encodeLabels' => false,
           'heading' => $heading,
           'items' => [
                 Yii::$app->user->isGuest ?
                            ['label' => 'LOGIN',  'url' => '', 'active' => ($item == 'login')] :
                            ['label' => 'LOGOUT', 'url' => 'site/logout', 'linkOptions' =>  ['data-method' => 'post']],

                    ],
                ]);
我收到错误,因为注销需要方法post
在这个小部件中,我们在哪里传递数据方法?我也使用kartk v sidenav小部件,这是我的SiteController

class SiteController extends Controller
{
    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            'access' => [
                .......
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],
        ];
    }


    public function actionLogout()
    {
        Yii::$app->user->logout();

        return $this->goHome();
    }
}
在sidenav中,我有这个

['label' => 'logout',  'url'=>Url::to(['/site/logout'])],

我也遇到了同样的问题,并将
模板
用于SideNav小部件。我被这样的回答所鼓舞

您的代码如下所示:

echo SideNav::widget([ 
       'type' => $type, 'encodeLabels' => false,
       'heading' => $heading,
       'items' => [
             Yii::$app->user->isGuest ?
                        ['label' => 'LOGIN',  'url' => '', 'active' => ($item == 'login')] :
                        ['label' => 'LOGOUT', 'icon' => 'log-out', 'url'=>Url::to(['/site/logout']), 'template' => '<a href="{url}" data-method="post">{icon}{label}</a>' ]
                ],
            ]);
echo SideNav::widget([ 'type'=>$type'encodeLabels'=>false, “标题”=>$heading, '项目'=>[ Yii::$app->user->isGuest? ['label'=>'LOGIN','url'=>'','active'=>($item=='LOGIN'): ['label'=>'注销','icon'=>'注销','url'=>url::to(['/site/LOGOUT']),'template'=>''] ], ]);
我添加了一个图标作为一个额外的例子。

注销方法需要post方法,我可以使用$url=Html::a(“注销”、['site/LOGOUT']、['data-method'=>'post']);但是如何将该url放在上面的小部件中呢