首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii2 Kartik-V SideNav小部件传递url方法

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

Stack Overflow用户
提问于 2015-05-06 15:27:18
回答 2查看 478关注 0票数 0

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

代码语言:javascript
复制
      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,我们该在哪里传递此小部件中的数据方法

EN

回答 2

Stack Overflow用户

发布于 2015-05-06 23:57:04

我还使用了kartk v sidenav小部件,这是我的SiteController

代码语言:javascript
复制
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中,我简单地使用了这个

代码语言:javascript
复制
['label' => 'logout',  'url'=>Url::to(['/site/logout'])],
票数 0
EN

Stack Overflow用户

发布于 2017-04-28 20:05:30

我也遇到了同样的问题,并将template option用于SideNav小部件。我受到了this的启发,所以回答。

您的代码将如下所示:

代码语言:javascript
复制
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>' ]
                ],
            ]);

我添加了一个图标作为一个额外的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30070173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档