【问题标题】:Yii2 logout Method Not Allowed (#405)Yii2 注销方法不允许 (#405)
【发布时间】:2019-07-21 18:33:06
【问题描述】:

我正在为后端使用 adminlte 高级模板。我想在左栏中添加注销。

我已阅读其他帖子,我知道我必须添加数据方法帖子。我已将它添加到 left.php 文件的以下行中,但它不起作用。如何让它发挥作用?

<?= dmstr\widgets\Menu::widget(
    [
        'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
        'items' => [
            ['label' => 'Logout', 'icon' => 'file-code-o', 'url' => ['/site/logout'], 'data-method'=>'post'],
    ]
    ) ?>

【问题讨论】:

    标签: yii2 yii2-advanced-app adminlte


    【解决方案1】:

    它是对yii\widgets\Menu的扩展,您需要指定template来修改或添加任何属性到链接,因为data-method="post"需要添加到您的链接中,您应该将代码更改为以下内容

    echo  
        dmstr\widgets\Menu::widget(
            [
                'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
                'items' => [
                    ['label' => 'Logout', 'icon' => 'file-code-o', 'url' => ['/site/logout'], 'template'=>'<a href="{url}" data-method="post">{label}</a>'],
            ]
        );
    

    【讨论】:

      【解决方案2】:

      您可以在点击字段中添加表单:

      $items[] = [
          [
              'label' => 'Logout', 
              'icon' => 'file-code-o', 
              'url' => ['/site/logout'],
              'template' => Html::beginForm(array('site/logout')) . 
                   Html::submitButton('Logout') . Html::endForm(),
          ],
      ];
      

      【讨论】:

      • 这是不正确的,options 会将data-method 添加到li 而不是链接
      • 我同意你的观点,我的错误,选项确实为包装标签添加了属性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2023-03-23
      • 2011-06-21
      • 2011-04-05
      • 2014-05-23
      • 2011-04-03
      • 1970-01-01
      相关资源
      最近更新 更多