为了账号安全,请及时绑定邮箱和手机立即绑定

yii2 中的 ActionColumn

yii2 中的 ActionColumn

PHP
慕丝7291255 2023-05-12 16:00:00
默认情况下有ActionColumn, view, update。delete我想添加一个“已完成”按钮来将任务标记为已完成,(我在 db 调用状态中有一列获得 int 0 或 1),所以我想要一个实现逻辑以将任务标记为已完成的函数,某人可以帮我吗?这个例子我在论坛上弄的,但是不是很懂[  'class' => 'yii\grid\ActionColumn',  'template' => '{view} {update} {delete} {made}',  'buttons'=> [    'made' => function () {           return Html::button('<span class="glyphicon glyphicon-ok"></span>', [        'title' => Yii::t('yii', 'made'),      ]);                                    }  ],
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

你可以这样做:


[

  'class' => 'yii\grid\ActionColumn',

  'template' => '{view} {update} {delete} {made}',

  'buttons'=> [

    ...

    'made' => function ($url, $model) {

       if($model->status === $model::STATUS_SUSPENDED){

          return Html::a("Activate", $url, [

              'title' => "Activate",

              'class' => 'btn btn-xs btn-success',

              'data' => [

                   'method' => 'post',

                   'confirm' => 'Are you sure? This will Activate this.',

              ],

          ]);

       }

       return Html::a("Suspend", $url, [

          'title' => "Suspend",

          'class' => 'btn btn-xs btn-danger',

          'data' => [

              'method' => 'post',

              'confirm' => 'Are you sure? This will Suspend this.',

          ],

       ]);

     }

  ],

]

actionMade()然后在检查请求的控制器中创建方法post,并对指定的id. 希望这会有所帮助。


查看完整回答
反对 回复 2023-05-12
  • 1 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信