新增一个按钮
1、bootstrap 官网:http://getbootstrap.com/
2、bootstrap 中文官网:http://v3.bootcss.com/
在视图文件中:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
[
'class' => 'yii\grid\ActionColumn', // 按钮类默认只有 3 个按钮
'template' => '{view}{update}{delete}{approve}',// template 里面可以添加按钮,每个按钮对应控制器中 action 开头的方法,如:actionView , 就是查看按钮的方法
'buttons' => [ // 新添加的按钮写在 buttons 里面
'approve' => function($url,$model,$key){
$options = [
'title' => Yii::t('yii','审核'), // yii 的 t() 方法用于翻译多种语言
'aria-label' => Yii::t('yii','审核'),
'data-confirm' => Yii::t('yii','你确定通过这条评论吗?'), // data-confirm 用于弹出一个确认对话框
'data-method' => 'post',
'data-pjax' => '',
];
// glyphicon glyphicon-check 这个图标在 bootstrap 中文官网 -> 组件 -> Glyphicons字体图标
return Html::a('<span class="glyphicon glyphicon-check"></span>',$url,$options);
},
],
],
],
]); ?>
然后再在控制器文件中写该按钮所对应的动作方法:(action+按钮名)
/**
* @purpose : 审核按钮所对应的方法
* @param $id : 该条评论的id
* @return \yii\web\Response : 重定向到 index 页面
*/
public function actionApprove($id)
{
$model = $this->findModel($id);
// 审核
if($model->approve()){
return $this->redirect(['index']);
}
}
最后再在模型文件中写入业务逻辑:
/**
* @将评论的状态改为已审核(将 status 由 1 改为 2)
* @return bool
*/
public function approve()
{
$this->status = 2;
return (($this->save()) ? true : false);
}
注:本文为作者(44106-kangaroo) 看完魏羲教你学Yii2.0 视频后所记,如有转载请注明出处:http://www.cnblogs.com/chrdai/p/7999519.html