index.php 3.39 KB
<?php
    
    use artbox\catalog\models\Option;
    use artbox\catalog\models\OptionGroup;
    use artbox\catalog\models\OptionSearch;
    use artbox\core\helpers\ImageHelper;
    use yii\bootstrap\Html;
    use yii\data\ActiveDataProvider;
    use yii\web\View;
    use yiister\gentelella\widgets\grid\GridView;
    use yiister\gentelella\widgets\Panel;
    
    /**
     * @var View               $this
     * @var OptionSearch       $searchModel
     * @var ActiveDataProvider $dataProvider
     * @var OptionGroup        $group
     */
    
    $this->title = Yii::t(
        'catalog',
        'Variant options exclusion for {group}',
        [
            'group' => $group->lang->title,
        ]
    );
    $this->params[ 'breadcrumbs' ][] = [
        'label' => \Yii::t('app', 'Variant option exclusion groups'),
        'url'   => [
            '/variant-option-group-exclusion/index',
        ],
    ];
    $this->params[ 'breadcrumbs' ][] = [
        'label' => $group->lang->title,
        'url'   => [
            '/variant-option-group-exclusion/view',
            'id' => $group->id,
        ],
    ];
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<div class="option-index">
    
    <?php
        $xPanel = Panel::begin(
            [
                'header' => Html::encode($this->title),
            ]
        );
    ?>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>
    
    <p>
        <?= Html::a(
            Yii::t('catalog', 'Create Option'),
            [
                'create',
                'group_id' => $group->id,
            ],
            [ 'class' => 'btn btn-success' ]
        ) ?>
    </p>
    <?= GridView::widget(
        [
            'dataProvider' => $dataProvider,
            'filterModel'  => $searchModel,
            'columns'      => [
                [ 'class' => 'yii\grid\SerialColumn' ],
                'id',
                [
                    'attribute' => 'value',
                    'value'     => 'lang.value',
                ],
                [
                    'attribute'     => 'image_id',
                    'filter'        => false,
                    'enableSorting' => false,
                    'label'         => \Yii::t('catalog', 'Image'),
                    'value'         => function ($model, $key, $index, $column) {
                        /**
                         * @var Option $model
                         */
                        if (!empty( $model->image_id )) {
                            return ImageHelper::set($model->image->getImagePathPrivate())
                                              ->setWidth(100)
                                              ->render();
                        } else {
                            return null;
                        }
                    },
                    'format'        => 'image',
                ],
                'created_at:datetime',
                [
                    'attribute' => 'status',
                    'format'    => 'boolean',
                    'filter'    => [
                        0 => \Yii::$app->formatter->asBoolean(0),
                        1 => \Yii::$app->formatter->asBoolean(1),
                    ],
                ],
                'sort',
                [
                    'class' => 'yii\grid\ActionColumn',
                ],
            ],
        ]
    ); ?>
    
    <?php
        $xPanel::end();
    ?>
</div>