index.php 3.09 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'],

            'name',
            'alias',
            'description:ntext',
            'module',
             'hierarchical:boolean',
             'is_filter:boolean',
            // 'settings:ntext',

            [
                '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;
                    }
                }
            ],
        ],
    ]); ?>
</div>