index.php 3.34 KB
<?php
    use yii\helpers\Html;
    use yii\grid\GridView;
    use yii\helpers\Url;
    
    /* @var $this yii\web\View */
    /* @var $level integer
    /* @var $dataProvider yii\data\ActiveDataProvider */
    
    $this->title = Yii::t('rubrication', 'Groups');
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>

<div class="tax-group-index">
    
    <h1><?= Html::encode($this->title) ?></h1>
    <p>
        <?= Html::a(Yii::t('rubrication', 'Create Group'), Url::to([
            '/rubrication/tax-group/create',
            'level' => $level,
        ]), [ 'class' => 'btn btn-success' ]) ?>
    </p>
    
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'columns'      => [
            [ 'class' => 'yii\grid\SerialColumn' ],
            'tax_group_id',
            'is_filter:boolean',
            
            [
                'class'      => 'yii\grid\ActionColumn',
                'template'   => '{update} {options} {relations} {delete} {rebuild}',
                'buttons'    => [
                    'options'   => function($url, $model) {
                        return Html::a('<span class="glyphicon glyphicon-th-list"></span>', $url, [
                            'title' => Yii::t('rubrication', 'Options'),
                        ]);
                    },
                    'relations' => function($url, $model) {
                        return Html::a('<!--span class="glyphicon glyphicon-random"></span-->', $url, [
                            'title' => Yii::t('rubrication', 'Relations'),
                        ]);
                    },
                    'rebuild'   => function($url, $model) {
                        return Html::a('<!--span class="glyphicon glyphicon-refresh"></span-->', $url, [
                            'title' => Yii::t('rubrication', 'Rebuild cache'),
                        ]);
                    },
                ],
                'urlCreator' => function($action, $model, $key, $index) use ($level) {
                    if($action === 'options') {
                        $url = '/admin/rubrication/tax-option?group=' . $model->tax_group_id;
                        return $url;
                    } elseif($action === 'relations') {
                        $url = '/admin/rubrication/tax-group/relation&id=' . $model->tax_group_id;
                        return $url;
                    } elseif($action === 'update') {
                        $url = Url::to([
                            '/rubrication/tax-group/update',
                            'level' => $level,
                            'id'    => $model->tax_group_id,
                        ]);
                        return $url;
                    } elseif($action === 'delete') {
                        $url = Url::to([
                            '/rubrication/tax-group/delete',
                            'level' => $level,
                            'id'    => $model->tax_group_id,
                        ]);
                        return $url;
                    } elseif($action === 'rebuild') {
                        $url = '/admin/rubrication/tax-group/rebuild?id=' . $model->tax_group_id;
                        return $url;
                    }
                    return '';
                },
            ],
        ],
    ]); ?>
</div>