标签:Yii2

为 YII2 GridView 的 ActionColumn 添加自定义链接

Yii2 的 GridView 可以解决后台展示绝大多数问题,其中的 ActionColumn 定制性也很强,官方文档没有说明如何操作,下面的代码可以做个参考。

以下代码为 ActionColumn 添加了 lock 的链接,并使用 glyhpicon-lock 作为图标

echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'username',
        [
            'class' => 'yii\grid\ActionColumn',
            'template' => '{view} {update} {lock}', 
            'buttons' => [
                // The new action
                'lock' => function ($url, $model, $key) {
                    // Creates glyphicon, optional
                    $icon = Html::tag('span', '', ['class' => "glyphicon glyphicon-lock"]);
                    // Creates URL
                    $url = Url::to(['/admin/user/lock', 'id' => $model->id]);

                    return Html::a($icon, $url);
                }
            ],
        ],
    ],
]);