matthew-p/yii2-toggle-column

简单的小部件,用于在网格视图中切换模型列

1.1.1 2018-08-27 14:10 UTC

This package is auto-updated.

Last update: 2023-08-19 22:51:00 UTC


README

简单的小部件,用于在网格视图中切换模型列

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

php composer.phar require --prefer-dist matthew-p/yii2-toggle-column "@dev"

或者

"matthew-p/yii2-toggle-column": "@dev"

将以下内容添加到你的 composer.json 文件的 require 部分。

使用方法

扩展安装完成后,只需在代码中使用它即可

将切换列添加到 gridview

GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel'  => $searchModel,
    'columns'      => [
        ['class' => 'yii\grid\SerialColumn'],

        'id',
        'title',
        // Toggle column
        [
            'class'      => \MP\GridView\ToggleColumn::class,
            'attribute'  => 'active',
            'values'     => [
                'value1' => 'Published',
                'value2' => 'Unpublished',
            ],
        ],
        [
            'attribute' => 'created_at',
            'format'    => ['date', 'format' => 'php: d/m/Y H:i:s'],
        ],

        ['class' => 'yii\grid\ActionColumn'],
    ],
]);

在 DetailView 中添加切换列

DetailView::widget([
    'model'      => $model,
    'attributes' => [
        'id',
        'name',
        // Toggle column
        [
            'attribute' => 'visible',
            'format'    => 'raw',
            'value'     => ToggleColumn::getValue('visible', [
                'values' => [
                    0 => Html::tag('span', Yii::t('app', 'Off'), ['class' => 'label label-danger']),
                    1 => Html::tag('span', Yii::t('app', 'On'), ['class' => 'label label-success']),
                ],
            ]),
        ],
    ],
])

在控制器中添加动作

class SampleController extends Controller
{
...
    public function actions(): array
    {
        return array_merge(parent::actions(), [
            'mp-toggle-column' => \MP\GridView\ToggleColumnAction::class,
        ]);
    }
...
}

在 params.php 中定义加密密钥(如果未定义)

'MPComponents' => [
    'encryptionKey' => 'RandomKey',
],

这就完成了。检查一下吧。