新增一个按钮
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‘ => ‘0‘, ]; // 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
时间: 2024-10-31 20:24:54