gallery.php 2.2 KB
<?php
    /**
     * @var GallerySearch      $searchModel
     * @var ActiveDataProvider $dataProvider
     */
    use common\models\GallerySearch;
    use yii\data\ActiveDataProvider;
    use yii\grid\GridView;
    use yii\helpers\Html;

    $this->title = 'Галерея';
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<h1><?= $this->title ?></h1>
<p>
    <?= Html::a(Yii::t('app', 'Добавить'), [ 'gallery-create' ], [ 'class' => 'btn btn-success' ]) ?>
</p>
<?= GridView::widget([
    'options'=>['class'=>'test'],
    'dataProvider' => $dataProvider,
    'filterModel'  => $searchModel,
    'columns'      => [
        [
            'attribute' => 'gallery_id',
            'label' => 'ID',
            'filterOptions' => ['class' => 'text-center']
        ],
        'name',
        'date_add',
        [
            'attribute' => 'type',
            'value' => function($model, $key, $index, $column) {
                switch($model->type) {
                    case 2:
                        return 'Видео';
                        break;
                    default:
                        return 'Фото';
                        break;
                }
            },
            'label' => 'Фото или Видео',
            'filter' => [
                1 => 'Фото',
                2 => 'Видео',
            ]
        ],
        [
            'class' => 'yii\grid\ActionColumn',
            'buttons' => [
                'update' => function($url, $model, $key) {
                    return Html::a('Update', ['gallery-update', 'id' => $model->gallery_id]);
                },
                'delete' => function($url, $model, $key) {
                    return Html::a('Delete', ['gallery-delete', 'id' => $model->gallery_id], [
                        'title' => 'Удалить',
                        'aria-label' => 'Удалить',
                        'data-confirm' => 'Вы уверены, что хотите удалить этот элемент?',
                        'data-method' => 'post',
                        'data-pjax' => '0',
                    ]);
                },
            ],
            'template' => '{update} {delete}'
        ],
    ],
]) ?>