index.php中:
use yii\helpers\Url; use common\libs\Constants;(会用到它的方法)
[ 'attribute' => 'status', 'format' => 'raw', 'value' => function ($model, $key, $index, $column) { if ($model->status == 1) { $url = Url::to([ 'status', 'id' => $model->id, 'status' => 0, 'field' => 'status' ]); $class = 'btn btn-info btn-xs btn-rounded'; $confirm = Yii::t('app', 'Are you sure you want to cancel release?'); } else { $url = Url::to([ 'status', 'id' => $model->id, 'status' => 1, 'field' => 'status' ]); $class = 'btn btn-default btn-xs btn-rounded'; $confirm = Yii::t('app', 'Are you sure you want to publish?'); } return Html::a(Constants::getArticleStatus($model->status), $url, [ 'class' => $class, 'data-confirm' => $confirm, 'data-method' => 'post', 'data-pjax' => '0', ]); }, 'filter' => Constants::getArticleStatus(), ],
ArticleController中
use backend\actions\StatusAction;(调用的公共类)
public function actions() { return [ 'status' => [ 'class' => StatusAction::className(), 'modelClass' => Article::className(), ], ]; }ArticleSearch中
'article.status' => $this->status,(加上了表明,因为有联查造作,同时其他表也有status字段)