index.php 4.57 KB
<?php
    
    use artbox\catalog\models\Category;
    use artbox\catalog\models\Product;
    use artbox\catalog\models\ProductOptionGroupExcl;
    use yii\bootstrap\Html;
    use yii\helpers\ArrayHelper;
    use yiister\gentelella\widgets\grid\GridView;
    use yiister\gentelella\widgets\Panel;
    
    /* @var $this yii\web\View */
    /* @var $searchModel artbox\catalog\models\ProductSearch */
    /* @var $dataProvider yii\data\ActiveDataProvider */
    
    $this->title = Yii::t('catalog', 'Product option group exclude');
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<div class="option-group-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 Group'), [ 'create' ], [ 'class' => 'btn btn-success' ]) ?>
  </p>
    <?= GridView::widget(
        [
            'dataProvider' => $dataProvider,
            'filterModel'  => $searchModel,
            'columns'      => [
                'id',
                [
                    'attribute' => 'title',
                    'value'     => 'lang.title',
                ],
                [
                    'attribute' => 'category',
                    'label' => \Yii::t('catalog', 'Categories'),
                    'value' => function (ProductOptionGroupExcl $model) {
                        if (empty($model->categories)) {
                            return \Yii::$app->formatter->asText(null);
                        } else {
                            return implode(
                                ',<br>',
                                ArrayHelper::getColumn(
                                    $model->categories,
                                    function (Category $category) {
                                        return $category->lang->title;
                                    }
                                )
                            );
                        }
                    },
                    'format' => 'html',
                ],
                [
                    'attribute' => 'in_menu',
                    'format'    => 'boolean',
                    'filter'    => [
                        0 => \Yii::$app->formatter->asBoolean(0),
                        1 => \Yii::$app->formatter->asBoolean(1),
                    ],
                ],
                [
                    'attribute' => 'is_filter',
                    'format'    => 'boolean',
                    'filter'    => [
                        0 => \Yii::$app->formatter->asBoolean(0),
                        1 => \Yii::$app->formatter->asBoolean(1),
                    ],
                ],
                [
                    'attribute' => 'status',
                    'format'    => 'boolean',
                    'filter'    => [
                        0 => \Yii::$app->formatter->asBoolean(0),
                        1 => \Yii::$app->formatter->asBoolean(1),
                    ],
                ],
                'sort',
                [
                    'class'    => 'artbox\catalog\widgets\GroupActionColumn',
//                    'buttons'  => [
//                        'options' => function ($url, $model, $key) {
//                            /**
//                             * @var ProductOptionGroupExcl $model
//                             */
//                            return Html::a(
//                                Html::icon('align-justify'),
//                                [
//                                    '/product-option-exclusion/index',
//                                    'group_id' => $model->id,
//                                ]
//                            );
//                        },
//                        'seo' => function ($url, $model, $key) {
//                            /**
//                             * @var ProductOptionGroupExcl $model
//                             */
//                            return Html::a(
//                                Html::icon('leaf'),
//                                [
//                                    '/alias/update',
//                                    'id' => $model->lang->alias_id,
//                                ]
//                            );
//                        },
//                    ],
//                    'template' => '{options} {seo} {view} {update} {delete}',
                ],
            ],
        ]
    ); ?>
    
    <?php
        $xPanel::end();
    ?>
</div>