Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii2中的ActionColumn_Php_Yii_Yii2_Php 7 - Fatal编程技术网

Php yii2中的ActionColumn

Php yii2中的ActionColumn,php,yii,yii2,php-7,Php,Yii,Yii2,Php 7,默认情况下,ActionColumn具有查看、更新和删除功能 我想添加一个按钮,用于将任务标记为完成,我在db call status中有一列,该列的int值为0或1, 所以我想要一个实现逻辑的函数,将任务标记为完成,有人能帮我吗 我在论坛上看到了这个例子,但我不是很了解 [ 'class' => 'yii\grid\ActionColumn', 'template' => '{view} {update} {delete} {made}', 'buttons'=>

默认情况下,ActionColumn具有查看、更新和删除功能

我想添加一个按钮,用于将任务标记为完成,我在db call status中有一列,该列的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'),
      ]);                                
    }
  ],

您可以这样做:

[
  '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.',
          ],
       ]);
     }
  ],
]

然后在控制器ActionMake中创建方法,在其中检查post请求,并对指定的id执行必要的操作。希望这会有所帮助。

我有一个错误,说未定义的类常量“STATUS\u SUSPENDED”对不起,如果我是这方面的noob,我很难在php+yii2中使用任务管理器制作crud,但是我从来没有在这项技术中写过一行代码,你会出错,因为这是一个常量,应该在你的模型中。定义实体的状态。学习Yii2,很容易相处。