Blame view

common/modules/product/views/manage/index.php 6.25 KB
3f2bc3d0   Administrator   first commit
1
2
3
4
  <?php

  

  use yii\helpers\Html;

  use yii\grid\GridView;

4902c747   Karnovsky A   -
5
6
7
8
9
  use yii\helpers\ArrayHelper;

  use kartik\select2\Select2;

  use common\components\artboxtree\ArtboxTreeHelper;

  use common\modules\product\helpers\ProductHelper;

  

3f2bc3d0   Administrator   first commit
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  /* @var $this yii\web\View */

  /* @var $searchModel common\modules\product\models\ProductSearch */

  /* @var $dataProvider yii\data\ActiveDataProvider */

  

  $this->title = Yii::t('product', 'Products');

  $this->params['breadcrumbs'][] = $this->title;

  ?>

  <div class="product-index">

  

      <h1><?= Html::encode($this->title) ?></h1>

      <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

  

      <p>

          <?= Html::a(Yii::t('product', 'Create Product'), ['create'], ['class' => 'btn btn-success']) ?>

      </p>

      <?= GridView::widget([

          'dataProvider' => $dataProvider,

          'filterModel' => $searchModel,

          'columns' => [

              ['class' => 'yii\grid\SerialColumn'],

3f2bc3d0   Administrator   first commit
30
              'name',

ccc7a9d3   Karnovsky A   Karnovsky 12052016
31
32
33
34
              [

                  'label' => Yii::t('product', 'Brand'),

                  'attribute' => 'brand_name',

                  'value' => 'brand.name',

4902c747   Karnovsky A   -
35
36
37
38
39
40
41
42
43
44
45
46
47
48
                  'format' => 'raw',

                  'filter' => Select2::widget([

                      'model' => $searchModel,

                      'attribute' => 'brand_id',

                      'data' => ArrayHelper::map(ProductHelper::getBrands()->all(), 'brand_id', 'name'),

                      'language' => 'ru',

                      'options' => [

                          'placeholder' => Yii::t('product', 'Select brand'),

                          'multiple' => false,

                      ],

                      'pluginOptions' => [

                          'allowClear' => true

                      ],

                  ])

ccc7a9d3   Karnovsky A   Karnovsky 12052016
49
50
51
52
              ],

              [

                  'label' => Yii::t('product', 'Category'),

                  'attribute' => 'category_name',

4902c747   Karnovsky A   -
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
                  'value' => function($model) {

                      $categories = [];

                      foreach ($model->categories as $category) {

                          $categories[] = $category->name;

                      }

                      return implode(", ", $categories);

                  },

                  'format' => 'raw',

                  'filter' => Select2::widget([

                      'model' => $searchModel,

                      'attribute' => 'category_id',

                      'data' => ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'name'),

                      'language' => 'ru',

                      'options' => [

                          'placeholder' => Yii::t('product', 'Select category'),

                          'multiple' => false,

                      ],

                      'pluginOptions' => [

                          'allowClear' => true

                      ],

                  ])

ccc7a9d3   Karnovsky A   Karnovsky 12052016
74
              ],

38828295   Karnovsky A   -
75
76
77
78
79
              [

                  'label' => Yii::t('product', 'SKU'),

                  'attribute' => 'variant_sku',

                  'value' => 'variant.sku',

              ],

ccc7a9d3   Karnovsky A   Karnovsky 12052016
80
              'variant.price',

4902c747   Karnovsky A   -
81
82
83
84
85
86
              'variant.price_old',

              [

                  'label' => Yii::t('product', 'Stock'),

                  'attribute' => 'variant_stock',

                  'value' => 'variant.stock_caption',

              ],

ccc7a9d3   Karnovsky A   Karnovsky 12052016
87
88
              [

                  'class' => 'yii\grid\ActionColumn',

a0be9a4d   Karnovsky A   30062016
89
                  'template' => '{items} {view} |{is_top} {is_new} {akciya}  | {update} {delete}',

ccc7a9d3   Karnovsky A   Karnovsky 12052016
90
91
92
93
94
95
96
97
98
99
100
                  'buttons' => [

                      'is_top' => function ($url, $model) {

                          return Html::a('<span class="glyphicon glyphicon-star' . ($model->is_top ? '' : '-empty') . '"></span>', $url, [

                              'title' => Yii::t('product', ($model->is_top ? 'Set not is top' : 'Set is top')),

                          ]);

                      },

                      'is_new' => function ($url, $model) {

                          return Html::a('<span class="glyphicon glyphicon-heart' . ($model->is_new ? '' : '-empty') . '"></span>', $url, [

                              'title' => Yii::t('product', ($model->is_new ? 'Set not is new' : 'Set is new')),

                          ]);

                      },

dc2cd017   Karnovsky A   -
101
102
103
104
105
                      'akciya' => function ($url, $model) {

                          return Html::a('<span class="glyphicon glyphicon-tag' . ($model->akciya ? 's' : '') . '"></span>', $url, [

                              'title' => Yii::t('product', ($model->akciya ? 'Set not is promotion' : 'Set is promotion')),

                          ]);

                      },

a0be9a4d   Karnovsky A   30062016
106
107
108
109
110
111
                      'items' => function ($url, $model) {

                          return Html::a('<span class="glyphicon glyphicon-th-list"></span>', $url, [

                              'title' => Yii::t('product', 'Variants'),

                          ]);

                      },

  

ccc7a9d3   Karnovsky A   Karnovsky 12052016
112
113
114
                  ],

                  'urlCreator' => function ($action, $model, $key, $index) {

                      switch ($action) {

a0be9a4d   Karnovsky A   30062016
115
116
117
                          case 'items':

                              return \yii\helpers\Url::to(['/product/variant', 'product_id' => $model->product_id]);

                              break;

ccc7a9d3   Karnovsky A   Karnovsky 12052016
118
119
120
121
122
123
                          case 'is_top':

                              return \yii\helpers\Url::to(['manage/is_top', 'id' => $model->product_id]);

                              break;

                          case 'is_new':

                              return \yii\helpers\Url::to(['manage/is_new', 'id' => $model->product_id]);

                              break;

dc2cd017   Karnovsky A   -
124
125
126
                          case 'akciya':

                              return \yii\helpers\Url::to(['manage/akciya', 'id' => $model->product_id]);

                              break;

ccc7a9d3   Karnovsky A   Karnovsky 12052016
127
128
129
130
131
132
133
134
135
136
137
138
                          case 'view':

                              return \yii\helpers\Url::to(['/catalog/product', 'id' => $model->product_id, ['target' => '_blank']]);

                              break;

                          case 'update':

                              return \yii\helpers\Url::to(['manage/update', 'id' => $model->product_id]);

                              break;

                          case 'delete':

                              return \yii\helpers\Url::to(['manage/delete', 'id' => $model->product_id]);

                              break;

                      }

                  }

              ],

3f2bc3d0   Administrator   first commit
139
140
141
          ],

      ]); ?>

  </div>