index.php
2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
use yii\helpers\Html;
use kartik\grid\GridView;
/* @var $this yii\web\View */
/* @var $searchModel common\modules\product\models\CategorySearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = Yii::t('product', 'Categories');
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="category-index">
<h1><?= Html::encode($this->title) ?></h1>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::a(Yii::t('product', 'Create Category'), ['create'], ['class' => 'btn btn-success']) ?>
</p>
<?= GridView::widget([
'dataProvider' => $dataProvider,
// 'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label'=> Yii::t('product', 'Name'),
'content'=>function($data){
$op = [];
foreach($data->getParents()->all() as $parent) {
$op[] = $parent->name;
}
$op[] = $data->name;
return implode(' → ', $op);
// return str_repeat('-', $data->depth) .' '. $data->name;
}
],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {populary}',
'buttons' => [
'populary' => function ($url, $model) {
if ($model->depth == 2) {
return Html::a('<span class="glyphicon glyphicon-star' . ($model->populary ? '' : '-empty') . '"></span>', $url, [
'title' => Yii::t('product', ($model->populary ? 'Set not populary' : 'Set populary')),
]);
}
},
],
'urlCreator' => function ($action, $model, $key, $index) {
switch ($action) {
case 'populary':
return \yii\helpers\Url::to(['category/populary', 'id' => $model->category_id]);
break;
case 'view':
return \yii\helpers\Url::to(['category/view', 'id' => $model->category_id]);
break;
case 'update':
return \yii\helpers\Url::to(['category/update', 'id' => $model->category_id]);
break;
case 'delete':
return \yii\helpers\Url::to(['category/delete', 'id' => $model->category_id]);
break;
}
}
],
],
'panel' => [
'type'=>'success',
],
]); ?>
</div>