yii2 配合bootstrap添加按鈕


新增一個按鈕

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM