Commit 871a734907eeacc25c625fbcf0fdabcab2905de8
1 parent
52aea36a
big commti
Showing
22 changed files
with
47 additions
and
270 deletions
Show diff stats
backend/controllers/CategoryController.php
@@ -97,7 +97,7 @@ class CategoryController extends Controller | @@ -97,7 +97,7 @@ class CategoryController extends Controller | ||
97 | } | 97 | } |
98 | return $this->render('create', [ | 98 | return $this->render('create', [ |
99 | 'model' => $model, | 99 | 'model' => $model, |
100 | - 'categories' => ArtboxTreeHelper::treeMap(Category::find()->with('categoryName')->getTree(), 'category_id', 'categoryName.value', '.') | 100 | + 'categories' => ArtboxTreeHelper::treeMap(Category::find()->getTree(), 'category_id', 'name', '.') |
101 | ]); | 101 | ]); |
102 | } | 102 | } |
103 | } | 103 | } |
@@ -125,7 +125,7 @@ class CategoryController extends Controller | @@ -125,7 +125,7 @@ class CategoryController extends Controller | ||
125 | } else { | 125 | } else { |
126 | return $this->render('update', [ | 126 | return $this->render('update', [ |
127 | 'model' => $model, | 127 | 'model' => $model, |
128 | - 'categories' => ArtboxTreeHelper::treeMap(Category::find()->with('categoryName')->getTree(), 'category_id', 'categoryName.value', '.') | 128 | + 'categories' => ArtboxTreeHelper::treeMap(Category::find()->getTree(), 'category_id', 'name', '.') |
129 | ]); | 129 | ]); |
130 | } | 130 | } |
131 | } | 131 | } |
backend/controllers/SiteController.php
@@ -2,9 +2,7 @@ | @@ -2,9 +2,7 @@ | ||
2 | namespace backend\controllers; | 2 | namespace backend\controllers; |
3 | use developeruz\db_rbac\behaviors\AccessBehavior; | 3 | use developeruz\db_rbac\behaviors\AccessBehavior; |
4 | use common\modules\product\models\Brand; | 4 | use common\modules\product\models\Brand; |
5 | -use common\modules\product\models\BrandName; | ||
6 | use common\modules\product\models\Category; | 5 | use common\modules\product\models\Category; |
7 | -use common\modules\product\models\CategoryName; | ||
8 | use common\modules\product\models\Product; | 6 | use common\modules\product\models\Product; |
9 | use common\modules\product\models\ProductVariant; | 7 | use common\modules\product\models\ProductVariant; |
10 | use common\modules\product\models\ProductVariantType; | 8 | use common\modules\product\models\ProductVariantType; |
@@ -199,7 +197,7 @@ class SiteController extends Controller | @@ -199,7 +197,7 @@ class SiteController extends Controller | ||
199 | } | 197 | } |
200 | 198 | ||
201 | // ==== Set category ==== | 199 | // ==== Set category ==== |
202 | - if ( ($category = CategoryName::find()->filterWhere(['ilike', 'value', trim($catalog_name)])->one()) !== null ) { | 200 | + if ( ($category = Category::find()->filterWhere(['ilike', 'name', trim($catalog_name)])->one()) !== null ) { |
203 | $_product->categories = [$category->category_id]; | 201 | $_product->categories = [$category->category_id]; |
204 | } else { | 202 | } else { |
205 | // Create category | 203 | // Create category |
@@ -211,7 +209,7 @@ class SiteController extends Controller | @@ -211,7 +209,7 @@ class SiteController extends Controller | ||
211 | 209 | ||
212 | // ===== Set brand ==== | 210 | // ===== Set brand ==== |
213 | if ( $brand_name ) { | 211 | if ( $brand_name ) { |
214 | - if ( ($brand = BrandName::find()->filterWhere(['ilike', 'value', trim($brand_name)])->one()) !== null ) { | 212 | + if ( ($brand = Brand::find()->filterWhere(['ilike', 'name', trim($brand_name)])->one()) !== null ) { |
215 | $_product->brand_id = $brand->brand_id; | 213 | $_product->brand_id = $brand->brand_id; |
216 | } else { | 214 | } else { |
217 | // Create brand | 215 | // Create brand |
common/modules/product/controllers/ManageController.php
@@ -8,7 +8,6 @@ use common\modules\product\models\Export; | @@ -8,7 +8,6 @@ use common\modules\product\models\Export; | ||
8 | use common\modules\product\models\Import; | 8 | use common\modules\product\models\Import; |
9 | use common\modules\product\models\ProductImage; | 9 | use common\modules\product\models\ProductImage; |
10 | use common\modules\product\models\ProductVariant; | 10 | use common\modules\product\models\ProductVariant; |
11 | -use common\modules\product\models\RemoteProductsSearch; | ||
12 | use Yii; | 11 | use Yii; |
13 | use common\modules\product\models\Product; | 12 | use common\modules\product\models\Product; |
14 | use common\modules\product\models\ProductSearch; | 13 | use common\modules\product\models\ProductSearch; |
@@ -16,8 +15,6 @@ use yii\web\Controller; | @@ -16,8 +15,6 @@ use yii\web\Controller; | ||
16 | use yii\web\NotFoundHttpException; | 15 | use yii\web\NotFoundHttpException; |
17 | use yii\filters\VerbFilter; | 16 | use yii\filters\VerbFilter; |
18 | use common\modules\product\models\Brand; | 17 | use common\modules\product\models\Brand; |
19 | -use common\modules\product\models\BrandName; | ||
20 | -use common\modules\product\models\RemoteProducts; | ||
21 | use yii\web\UploadedFile; | 18 | use yii\web\UploadedFile; |
22 | 19 | ||
23 | /** | 20 | /** |
common/modules/product/helpers/FilterHelper.php
@@ -2,9 +2,7 @@ | @@ -2,9 +2,7 @@ | ||
2 | 2 | ||
3 | namespace common\modules\product\helpers; | 3 | namespace common\modules\product\helpers; |
4 | 4 | ||
5 | -use common\modules\product\models\Product; | ||
6 | -use common\modules\product\models\BrandName; | ||
7 | -use common\modules\product\models\CategoryName; | 5 | + |
8 | use common\modules\rubrication\models\TaxGroup; | 6 | use common\modules\rubrication\models\TaxGroup; |
9 | use yii\base\Object; | 7 | use yii\base\Object; |
10 | use Yii; | 8 | use Yii; |
common/modules/product/helpers/ProductHelper.php
@@ -6,8 +6,6 @@ | @@ -6,8 +6,6 @@ | ||
6 | use common\modules\product\models\Category; | 6 | use common\modules\product\models\Category; |
7 | use common\modules\product\models\Product; | 7 | use common\modules\product\models\Product; |
8 | use common\modules\product\models\ProductVariant; | 8 | use common\modules\product\models\ProductVariant; |
9 | - use common\modules\product\models\BrandName; | ||
10 | - use common\modules\product\models\CategoryName; | ||
11 | use yii\base\Object; | 9 | use yii\base\Object; |
12 | use Yii; | 10 | use Yii; |
13 | use yii\db\ActiveQuery; | 11 | use yii\db\ActiveQuery; |
@@ -202,12 +200,12 @@ | @@ -202,12 +200,12 @@ | ||
202 | ]); | 200 | ]); |
203 | $query->orFilterWhere([ | 201 | $query->orFilterWhere([ |
204 | 'ilike', | 202 | 'ilike', |
205 | - BrandName::tableName() . '.value', | 203 | + Brand::tableName() . '.name', |
206 | $keyword, | 204 | $keyword, |
207 | ]); | 205 | ]); |
208 | $query->orFilterWhere([ | 206 | $query->orFilterWhere([ |
209 | 'ilike', | 207 | 'ilike', |
210 | - CategoryName::tableName() . '.value', | 208 | + Category::tableName() . '.name', |
211 | $keyword, | 209 | $keyword, |
212 | ]); | 210 | ]); |
213 | $query->orFilterWhere([ | 211 | $query->orFilterWhere([ |
common/modules/product/models/Brand.php
@@ -19,6 +19,7 @@ use Yii; | @@ -19,6 +19,7 @@ use Yii; | ||
19 | * @property string $meta_desc | 19 | * @property string $meta_desc |
20 | * @property string $meta_robots | 20 | * @property string $meta_robots |
21 | * @property string $seo_text | 21 | * @property string $seo_text |
22 | + * @property string $name | ||
22 | * | 23 | * |
23 | * @property BrandName $brandName | 24 | * @property BrandName $brandName |
24 | * @property BrandName[] $brandNames | 25 | * @property BrandName[] $brandNames |
@@ -30,26 +31,6 @@ class Brand extends \yii\db\ActiveRecord | @@ -30,26 +31,6 @@ class Brand extends \yii\db\ActiveRecord | ||
30 | 31 | ||
31 | public $_items_count = 0; | 32 | public $_items_count = 0; |
32 | 33 | ||
33 | - public function behaviors() | ||
34 | - { | ||
35 | - return [ | ||
36 | - 'artboxsynonym' => [ | ||
37 | - 'class' => ArtboxSynonymBehavior::className(), | ||
38 | - 'keyNameValue' => 'brand_name_id', | ||
39 | - 'valueModel' => BrandName::className(), | ||
40 | - 'valueOptionId' => 'brand_id', | ||
41 | - 'valueFields' => [ // postKey => DBFieldName | ||
42 | - 'name' => 'value' | ||
43 | - ], | ||
44 | - 'slug' => [ | ||
45 | - 'valueKeyName' => 'value', | ||
46 | - 'slugKeyName' => 'alias', | ||
47 | - 'translit' => true | ||
48 | - ], | ||
49 | - ], | ||
50 | - ]; | ||
51 | - } | ||
52 | - | ||
53 | /** | 34 | /** |
54 | * @inheritdoc | 35 | * @inheritdoc |
55 | */ | 36 | */ |
@@ -94,21 +75,7 @@ class Brand extends \yii\db\ActiveRecord | @@ -94,21 +75,7 @@ class Brand extends \yii\db\ActiveRecord | ||
94 | ]; | 75 | ]; |
95 | } | 76 | } |
96 | 77 | ||
97 | - /** | ||
98 | - * @return \yii\db\ActiveQuery | ||
99 | - */ | ||
100 | - public function getBrandName() | ||
101 | - { | ||
102 | - return $this->hasOne(BrandName::className(), ['brand_name_id' => 'brand_name_id']); | ||
103 | - } | ||
104 | 78 | ||
105 | - /** | ||
106 | - * @return \yii\db\ActiveQuery | ||
107 | - */ | ||
108 | - public function getBrandNames() | ||
109 | - { | ||
110 | - return $this->hasMany(BrandName::className(), ['brand_id' => 'brand_id']); | ||
111 | - } | ||
112 | 79 | ||
113 | /** | 80 | /** |
114 | * @return \yii\db\ActiveQuery | 81 | * @return \yii\db\ActiveQuery |
@@ -118,10 +85,6 @@ class Brand extends \yii\db\ActiveRecord | @@ -118,10 +85,6 @@ class Brand extends \yii\db\ActiveRecord | ||
118 | return $this->hasMany(Product::className(), ['brand_id' => 'brand_id']); | 85 | return $this->hasMany(Product::className(), ['brand_id' => 'brand_id']); |
119 | } | 86 | } |
120 | 87 | ||
121 | - public function getName() { | ||
122 | - return empty($this->brand_name_id) ? null : $this->brandName->value; | ||
123 | - } | ||
124 | - | ||
125 | public function getImageFile() { | 88 | public function getImageFile() { |
126 | return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image); | 89 | return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image); |
127 | } | 90 | } |
common/modules/product/models/BrandName.php deleted
1 | -<?php | ||
2 | - | ||
3 | -namespace common\modules\product\models; | ||
4 | - | ||
5 | -use Yii; | ||
6 | - | ||
7 | -/** | ||
8 | - * This is the model class for table "brand_name". | ||
9 | - * | ||
10 | - * @property integer $brand_name_id | ||
11 | - * @property integer $brand_id | ||
12 | - * @property string $value | ||
13 | - * | ||
14 | - * @property Brand[] $brands | ||
15 | - * @property Brand $brand | ||
16 | - */ | ||
17 | -class BrandName extends \yii\db\ActiveRecord | ||
18 | -{ | ||
19 | - /** | ||
20 | - * @inheritdoc | ||
21 | - */ | ||
22 | - public static function tableName() | ||
23 | - { | ||
24 | - return 'brand_name'; | ||
25 | - } | ||
26 | - | ||
27 | - /** | ||
28 | - * @inheritdoc | ||
29 | - */ | ||
30 | - public function rules() | ||
31 | - { | ||
32 | - return [ | ||
33 | - [['brand_id'], 'integer'], | ||
34 | - [['value'], 'string', 'max' => 250], | ||
35 | -// [['brand_id'], 'exist', 'skipOnError' => true, 'targetClass' => Brand::className(), 'targetAttribute' => ['brand_id' => 'brand_id']], | ||
36 | - ]; | ||
37 | - } | ||
38 | - | ||
39 | - /** | ||
40 | - * @inheritdoc | ||
41 | - */ | ||
42 | - public function attributeLabels() | ||
43 | - { | ||
44 | - return [ | ||
45 | - 'brand_name_id' => Yii::t('product', 'Brand Name ID'), | ||
46 | - 'brand_id' => Yii::t('product', 'Brand ID'), | ||
47 | - 'value' => Yii::t('product', 'Value'), | ||
48 | - ]; | ||
49 | - } | ||
50 | - | ||
51 | - /** | ||
52 | - * @return \yii\db\ActiveQuery | ||
53 | - */ | ||
54 | - public function getBrands() | ||
55 | - { | ||
56 | - return $this->hasMany(Brand::className(), ['brand_name_id' => 'brand_name_id']); | ||
57 | - } | ||
58 | - | ||
59 | - /** | ||
60 | - * @return \yii\db\ActiveQuery | ||
61 | - */ | ||
62 | - public function getBrand() | ||
63 | - { | ||
64 | - return $this->hasOne(Brand::className(), ['brand_id' => 'brand_id']); | ||
65 | - } | ||
66 | -} |
common/modules/product/models/BrandSearch.php
@@ -81,8 +81,7 @@ class BrandSearch extends Brand | @@ -81,8 +81,7 @@ class BrandSearch extends Brand | ||
81 | ->andFilterWhere(['ilike', 'meta_robots', $this->meta_robots]) | 81 | ->andFilterWhere(['ilike', 'meta_robots', $this->meta_robots]) |
82 | ->andFilterWhere(['ilike', 'seo_text', $this->seo_text]); | 82 | ->andFilterWhere(['ilike', 'seo_text', $this->seo_text]); |
83 | if (!empty($this->brand_name)) { | 83 | if (!empty($this->brand_name)) { |
84 | - $query->joinWith('brandName'); | ||
85 | - $query->andFilterWhere(['ilike', 'brand_name.value', $this->brand_name]); | 84 | + $query->andFilterWhere(['ilike', 'name', $this->brand_name]); |
86 | } | 85 | } |
87 | 86 | ||
88 | $query->orderBy('brand_id', 'asc'); | 87 | $query->orderBy('brand_id', 'asc'); |
@@ -110,8 +109,7 @@ class BrandSearch extends Brand | @@ -110,8 +109,7 @@ class BrandSearch extends Brand | ||
110 | Brand::tableName() .'.*' | 109 | Brand::tableName() .'.*' |
111 | ]) | 110 | ]) |
112 | ->innerJoin(Product::tableName(), Product::tableName() .'.brand_id='. Brand::tableName() .'.brand_id') | 111 | ->innerJoin(Product::tableName(), Product::tableName() .'.brand_id='. Brand::tableName() .'.brand_id') |
113 | - ->innerJoin(ProductCategory::tableName(), ProductCategory::tableName() .'.product_id='. Product::tableName() .'.product_id') | ||
114 | - ->with(['brandName']); | 112 | + ->innerJoin(ProductCategory::tableName(), ProductCategory::tableName() .'.product_id='. Product::tableName() .'.product_id'); |
115 | 113 | ||
116 | 114 | ||
117 | // $queryCount = Product::find() | 115 | // $queryCount = Product::find() |
@@ -157,7 +155,6 @@ class BrandSearch extends Brand | @@ -157,7 +155,6 @@ class BrandSearch extends Brand | ||
157 | public static function findByAlias($alias) { | 155 | public static function findByAlias($alias) { |
158 | /** @var CategoryQuery $query */ | 156 | /** @var CategoryQuery $query */ |
159 | $query = Brand::find() | 157 | $query = Brand::find() |
160 | - ->with('brandName') | ||
161 | ->andFilterWhere(['alias' => $alias]); | 158 | ->andFilterWhere(['alias' => $alias]); |
162 | if (($model = $query->one()) !== null) { | 159 | if (($model = $query->one()) !== null) { |
163 | return $model; | 160 | return $model; |
common/modules/product/models/Category.php
@@ -2,13 +2,13 @@ | @@ -2,13 +2,13 @@ | ||
2 | 2 | ||
3 | namespace common\modules\product\models; | 3 | namespace common\modules\product\models; |
4 | 4 | ||
5 | -use common\behaviors\RuSlug; | 5 | + |
6 | use common\components\artboxtree\ArtboxTreeBehavior; | 6 | use common\components\artboxtree\ArtboxTreeBehavior; |
7 | use common\components\artboxtree\ArtboxTreeHelper; | 7 | use common\components\artboxtree\ArtboxTreeHelper; |
8 | -use common\modules\rubrication\behaviors\ArtboxSynonymBehavior; | 8 | + |
9 | use common\modules\rubrication\models\TaxGroup; | 9 | use common\modules\rubrication\models\TaxGroup; |
10 | use Yii; | 10 | use Yii; |
11 | -use yii\base\ErrorException; | 11 | + |
12 | use yii\db\Query; | 12 | use yii\db\Query; |
13 | 13 | ||
14 | /** | 14 | /** |
@@ -28,6 +28,7 @@ use yii\db\Query; | @@ -28,6 +28,7 @@ use yii\db\Query; | ||
28 | * @property integer $product_unit_id | 28 | * @property integer $product_unit_id |
29 | * @property string $alias | 29 | * @property string $alias |
30 | * @property boolean $populary | 30 | * @property boolean $populary |
31 | + * @property boolean $name | ||
31 | * | 32 | * |
32 | * @property CategoryName $categoryName | 33 | * @property CategoryName $categoryName |
33 | * @property Product[] $products | 34 | * @property Product[] $products |
@@ -46,21 +47,7 @@ class Category extends \yii\db\ActiveRecord | @@ -46,21 +47,7 @@ class Category extends \yii\db\ActiveRecord | ||
46 | 'class' => ArtboxTreeBehavior::className(), | 47 | 'class' => ArtboxTreeBehavior::className(), |
47 | 'keyNameGroup' => null, | 48 | 'keyNameGroup' => null, |
48 | 'keyNamePath' => 'path', | 49 | 'keyNamePath' => 'path', |
49 | - ], | ||
50 | - 'artboxsynonym' => [ | ||
51 | - 'class' => ArtboxSynonymBehavior::className(), | ||
52 | - 'keyNameValue' => 'category_name_id', | ||
53 | - 'valueModel' => CategoryName::className(), | ||
54 | - 'valueOptionId' => 'category_id', | ||
55 | - 'valueFields' => [ // postKey => DBFieldName | ||
56 | - 'name' => 'value' | ||
57 | - ], | ||
58 | - 'slug' => [ | ||
59 | - 'valueKeyName' => 'value', | ||
60 | - 'slugKeyName' => 'alias', | ||
61 | - 'translit' => true | ||
62 | - ] | ||
63 | - ], | 50 | + ] |
64 | 51 | ||
65 | ]; | 52 | ]; |
66 | } | 53 | } |
@@ -87,7 +74,6 @@ class Category extends \yii\db\ActiveRecord | @@ -87,7 +74,6 @@ class Category extends \yii\db\ActiveRecord | ||
87 | [['alias', 'name'], 'string', 'max' => 250], | 74 | [['alias', 'name'], 'string', 'max' => 250], |
88 | [['populary'], 'boolean'], | 75 | [['populary'], 'boolean'], |
89 | [['group_to_category', 'remote_category'], 'safe'], | 76 | [['group_to_category', 'remote_category'], 'safe'], |
90 | - [['category_name_id'], 'exist', 'skipOnError' => true, 'targetClass' => CategoryName::className(), 'targetAttribute' => ['category_name_id' => 'category_name_id']], | ||
91 | [['imageUpload'], 'safe'], | 77 | [['imageUpload'], 'safe'], |
92 | [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], | 78 | [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], |
93 | ]; | 79 | ]; |
@@ -137,13 +123,6 @@ class Category extends \yii\db\ActiveRecord | @@ -137,13 +123,6 @@ class Category extends \yii\db\ActiveRecord | ||
137 | // return $this->getRelations('product_categories'); | 123 | // return $this->getRelations('product_categories'); |
138 | } | 124 | } |
139 | 125 | ||
140 | - /** | ||
141 | - * @return \yii\db\ActiveQuery | ||
142 | - */ | ||
143 | - public function getCategoryNames() | ||
144 | - { | ||
145 | - return $this->hasMany(CategoryName::className(), ['category_id' => 'category_id']); | ||
146 | - } | ||
147 | 126 | ||
148 | /** | 127 | /** |
149 | * @return \yii\db\ActiveQuery | 128 | * @return \yii\db\ActiveQuery |
@@ -153,10 +132,6 @@ class Category extends \yii\db\ActiveRecord | @@ -153,10 +132,6 @@ class Category extends \yii\db\ActiveRecord | ||
153 | return $this->hasMany(ProductCategory::className(), ['category_id' => 'category_id']); | 132 | return $this->hasMany(ProductCategory::className(), ['category_id' => 'category_id']); |
154 | } | 133 | } |
155 | 134 | ||
156 | - public function getTaxGroups() | ||
157 | - { | ||
158 | - return $this->getRelations('tax_group_to_category'); | ||
159 | - } | ||
160 | 135 | ||
161 | public function getTaxGroupsByLevel($level) | 136 | public function getTaxGroupsByLevel($level) |
162 | { | 137 | { |
@@ -177,14 +152,8 @@ class Category extends \yii\db\ActiveRecord | @@ -177,14 +152,8 @@ class Category extends \yii\db\ActiveRecord | ||
177 | } | 152 | } |
178 | } | 153 | } |
179 | 154 | ||
180 | - public function getCategoryName() | ||
181 | - { | ||
182 | - return $this->hasOne(CategoryName::className(), ['category_name_id' => 'category_name_id']); | ||
183 | - } | ||
184 | 155 | ||
185 | - public function getName() { | ||
186 | - return empty($this->categoryName) ? null : $this->categoryName->value; | ||
187 | - } | 156 | + |
188 | 157 | ||
189 | public function getImageFile() { | 158 | public function getImageFile() { |
190 | return empty($this->image) ? '/images/no_photo.png' : Yii::getAlias('@imagesDir/categories/'. $this->image); | 159 | return empty($this->image) ? '/images/no_photo.png' : Yii::getAlias('@imagesDir/categories/'. $this->image); |
@@ -216,22 +185,13 @@ class Category extends \yii\db\ActiveRecord | @@ -216,22 +185,13 @@ class Category extends \yii\db\ActiveRecord | ||
216 | } | 185 | } |
217 | } | 186 | } |
218 | ProductCategory::deleteAll(['category_id' => $this->category_id]); | 187 | ProductCategory::deleteAll(['category_id' => $this->category_id]); |
219 | - CategoryName::deleteAll(['category_id' => $this->category_id]); | ||
220 | return true; | 188 | return true; |
221 | } | 189 | } |
222 | - | ||
223 | public function getActiveFilters() { | 190 | public function getActiveFilters() { |
224 | $query1 = (new Query()) | 191 | $query1 = (new Query()) |
225 | ->distinct() | 192 | ->distinct() |
226 | ->select([ | 193 | ->select([ |
227 | - 'option_id', | ||
228 | - 'tax_option.*', | ||
229 | - 'tax_group.*', | ||
230 | - 'tax_option.alias as option_alias', | ||
231 | - 'tax_group.alias as group_alias', | ||
232 | - 'tax_value_string.value as value', | ||
233 | - 'tax_option.sort AS tax_option_sort', | ||
234 | - 'tax_group.sort AS tax_group_sort', | 194 | + 'option_id' |
235 | ]) | 195 | ]) |
236 | ->from('tax_option') | 196 | ->from('tax_option') |
237 | ->innerJoin('product_variant_option', 'tax_option.tax_option_id = product_variant_option.option_id') | 197 | ->innerJoin('product_variant_option', 'tax_option.tax_option_id = product_variant_option.option_id') |
@@ -242,18 +202,11 @@ class Category extends \yii\db\ActiveRecord | @@ -242,18 +202,11 @@ class Category extends \yii\db\ActiveRecord | ||
242 | ->innerJoin('tax_value_string', 'tax_value_string.tax_option_id = tax_option.tax_option_id') | 202 | ->innerJoin('tax_value_string', 'tax_value_string.tax_option_id = tax_option.tax_option_id') |
243 | ->where(['product_category.category_id' => $this->category_id, 'tax_group.is_filter' => TRUE]) | 203 | ->where(['product_category.category_id' => $this->category_id, 'tax_group.is_filter' => TRUE]) |
244 | ->andWhere(['!=', 'product_variant.stock', 0]); | 204 | ->andWhere(['!=', 'product_variant.stock', 0]); |
245 | - | 205 | + |
246 | $query2 = (new Query()) | 206 | $query2 = (new Query()) |
247 | ->distinct() | 207 | ->distinct() |
248 | ->select([ | 208 | ->select([ |
249 | - 'option_id', | ||
250 | - 'tax_option.*', | ||
251 | - 'tax_group.*', | ||
252 | - 'tax_option.alias as option_alias', | ||
253 | - 'tax_group.alias as group_alias', | ||
254 | - 'tax_value_string.value as value', | ||
255 | - 'tax_option.sort AS tax_option_sort', | ||
256 | - 'tax_group.sort AS tax_group_sort', | 209 | + 'option_id' |
257 | ]) | 210 | ]) |
258 | ->from('tax_option') | 211 | ->from('tax_option') |
259 | ->innerJoin('product_option', 'tax_option.tax_option_id = product_option.option_id') | 212 | ->innerJoin('product_option', 'tax_option.tax_option_id = product_option.option_id') |
@@ -265,9 +218,20 @@ class Category extends \yii\db\ActiveRecord | @@ -265,9 +218,20 @@ class Category extends \yii\db\ActiveRecord | ||
265 | ->where(['product_category.category_id' => $this->category_id, 'tax_group.is_filter' => TRUE]) | 218 | ->where(['product_category.category_id' => $this->category_id, 'tax_group.is_filter' => TRUE]) |
266 | ->andWhere(['!=', 'product_variant.stock', 0]); | 219 | ->andWhere(['!=', 'product_variant.stock', 0]); |
267 | $query3 = (new Query()) | 220 | $query3 = (new Query()) |
268 | - ->select('*') | ||
269 | - ->from(['subquery' => $query1->union($query2)]) | ||
270 | - ->orderBy('tax_group_sort, tax_option_sort'); | 221 | + ->select([ |
222 | + 'tax_option.*', | ||
223 | + 'tax_group.*', | ||
224 | + 'tax_option.alias as option_alias', | ||
225 | + 'tax_group.alias as group_alias', | ||
226 | + 'tax_value_string.value as value', | ||
227 | + 'tax_option.sort AS tax_option_sort', | ||
228 | + 'tax_group.sort AS tax_group_sort', | ||
229 | + ]) | ||
230 | + ->from(['tax_option' ]) | ||
231 | + ->where(['tax_option.tax_option_id'=>$query1->union($query2)]) | ||
232 | + ->innerJoin('tax_group','tax_group.tax_group_id = tax_option.tax_group_id') | ||
233 | + ->innerJoin('tax_value_string', 'tax_value_string.tax_option_id = tax_option.tax_option_id') | ||
234 | + ->orderBy('tax_option.sort, tax_group.sort'); | ||
271 | return $query3; | 235 | return $query3; |
272 | } | 236 | } |
273 | 237 |
common/modules/product/models/CategoryName.php deleted
1 | -<?php | ||
2 | - | ||
3 | -namespace common\modules\product\models; | ||
4 | - | ||
5 | -use Yii; | ||
6 | - | ||
7 | -/** | ||
8 | - * This is the model class for table "category_name". | ||
9 | - * | ||
10 | - * @property integer $category_name_id | ||
11 | - * @property integer $category_id | ||
12 | - * @property string $value | ||
13 | - * | ||
14 | - * @property Category[] $categories | ||
15 | - * @property Category $category | ||
16 | - */ | ||
17 | -class CategoryName extends \yii\db\ActiveRecord | ||
18 | -{ | ||
19 | - /** | ||
20 | - * @inheritdoc | ||
21 | - */ | ||
22 | - public static function tableName() | ||
23 | - { | ||
24 | - return 'category_name'; | ||
25 | - } | ||
26 | - | ||
27 | - /** | ||
28 | - * @inheritdoc | ||
29 | - */ | ||
30 | - public function rules() | ||
31 | - { | ||
32 | - return [ | ||
33 | - [['category_id'], 'integer'], | ||
34 | - [['value'], 'string', 'max' => 250], | ||
35 | - [['category_id'], 'exist', 'skipOnError' => true, 'targetClass' => Category::className(), 'targetAttribute' => ['category_id' => 'category_id']], | ||
36 | - ]; | ||
37 | - } | ||
38 | - | ||
39 | - /** | ||
40 | - * @inheritdoc | ||
41 | - */ | ||
42 | - public function attributeLabels() | ||
43 | - { | ||
44 | - return [ | ||
45 | - 'category_name_id' => Yii::t('product', 'Category Name ID'), | ||
46 | - 'category_id' => Yii::t('product', 'Category ID'), | ||
47 | - 'value' => Yii::t('product', 'Value'), | ||
48 | - ]; | ||
49 | - } | ||
50 | - | ||
51 | - /** | ||
52 | - * @return \yii\db\ActiveQuery | ||
53 | - */ | ||
54 | - public function getCategories() | ||
55 | - { | ||
56 | - return $this->hasMany(Category::className(), ['category_name_id' => 'category_name_id']); | ||
57 | - } | ||
58 | - | ||
59 | - /** | ||
60 | - * @return \yii\db\ActiveQuery | ||
61 | - */ | ||
62 | - public function getCategory() | ||
63 | - { | ||
64 | - return $this->hasOne(Category::className(), ['category_id' => 'category_id']); | ||
65 | - } | ||
66 | -} |
common/modules/product/models/CategoryQuery.php
@@ -23,7 +23,6 @@ class CategoryQuery extends \yii\db\ActiveQuery | @@ -23,7 +23,6 @@ class CategoryQuery extends \yii\db\ActiveQuery | ||
23 | */ | 23 | */ |
24 | public function all($db = null) | 24 | public function all($db = null) |
25 | { | 25 | { |
26 | - $this->with('categoryName'); | ||
27 | return parent::all($db); | 26 | return parent::all($db); |
28 | } | 27 | } |
29 | 28 |
common/modules/product/models/CategorySearch.php
@@ -56,7 +56,7 @@ class CategorySearch extends Category | @@ -56,7 +56,7 @@ class CategorySearch extends Category | ||
56 | */ | 56 | */ |
57 | public function search($params) | 57 | public function search($params) |
58 | { | 58 | { |
59 | - $query = Category::find()->with('categoryName'); | 59 | + $query = Category::find(); |
60 | 60 | ||
61 | // add conditions that should always apply here | 61 | // add conditions that should always apply here |
62 | 62 | ||
@@ -90,7 +90,6 @@ class CategorySearch extends Category | @@ -90,7 +90,6 @@ class CategorySearch extends Category | ||
90 | public static function findByAlias($alias) { | 90 | public static function findByAlias($alias) { |
91 | /** @var CategoryQuery $query */ | 91 | /** @var CategoryQuery $query */ |
92 | $query = Category::find() | 92 | $query = Category::find() |
93 | - ->with('categoryName') | ||
94 | ->andFilterWhere(['alias' => $alias]); | 93 | ->andFilterWhere(['alias' => $alias]); |
95 | if (($model = $query->one()) !== null) { | 94 | if (($model = $query->one()) !== null) { |
96 | return $model; | 95 | return $model; |
@@ -102,7 +101,6 @@ class CategorySearch extends Category | @@ -102,7 +101,6 @@ class CategorySearch extends Category | ||
102 | public static function findByRemoteID($id) { | 101 | public static function findByRemoteID($id) { |
103 | /** @var CategoryQuery $query */ | 102 | /** @var CategoryQuery $query */ |
104 | $query = Category::find() | 103 | $query = Category::find() |
105 | - ->with('categoryName') | ||
106 | ->andFilterWhere(['@>', 'remote_id', ArtboxTreeHelper::setArrayField($id)]); | 104 | ->andFilterWhere(['@>', 'remote_id', ArtboxTreeHelper::setArrayField($id)]); |
107 | if (($model = $query->one()) !== null) { | 105 | if (($model = $query->one()) !== null) { |
108 | return $model; | 106 | return $model; |
common/modules/product/models/Product.php
@@ -218,7 +218,7 @@ class Product extends \yii\db\ActiveRecord | @@ -218,7 +218,7 @@ class Product extends \yii\db\ActiveRecord | ||
218 | // return $this->getRelations('product_categories'); | 218 | // return $this->getRelations('product_categories'); |
219 | } | 219 | } |
220 | public function getCategoriesWithName() { | 220 | public function getCategoriesWithName() { |
221 | - return $this->hasMany(Category::className(), ['category_id' => 'category_id'])->viaTable('product_category', ['product_id' => 'product_id'])->joinWith('categoryNames'); | 221 | + return $this->hasMany(Category::className(), ['category_id' => 'category_id'])->viaTable('product_category', ['product_id' => 'product_id']); |
222 | // return $this->getRelations('product_categories'); | 222 | // return $this->getRelations('product_categories'); |
223 | } | 223 | } |
224 | 224 |
common/modules/product/models/ProductSearch.php
@@ -51,7 +51,7 @@ class ProductSearch extends Product | @@ -51,7 +51,7 @@ class ProductSearch extends Product | ||
51 | { | 51 | { |
52 | $query = Product::find(); | 52 | $query = Product::find(); |
53 | 53 | ||
54 | - $query->joinWith(['brand', 'brand.brandNames', 'categories', 'categories.categoryNames', 'variant']); | 54 | + $query->joinWith(['brand', 'categories', 'variant']); |
55 | 55 | ||
56 | $query->groupBy(['product.product_id']); | 56 | $query->groupBy(['product.product_id']); |
57 | $query->orderBy('product.product_id', 'DESC'); | 57 | $query->orderBy('product.product_id', 'DESC'); |
common/modules/product/models/ProductVariantSearch.php
@@ -87,7 +87,7 @@ class ProductVariantSearch extends ProductVariant | @@ -87,7 +87,7 @@ class ProductVariantSearch extends ProductVariant | ||
87 | ] | 87 | ] |
88 | ]); | 88 | ]); |
89 | 89 | ||
90 | - $query->joinWith(['product', 'product.brand.brandNames', 'product.categories', 'product.categories.categoryNames']); | 90 | + $query->joinWith(['product', 'product.brand', 'product.categories']); |
91 | 91 | ||
92 | if (isset($this->is_top)) { | 92 | if (isset($this->is_top)) { |
93 | $query->andFilterWhere([ | 93 | $query->andFilterWhere([ |
common/modules/product/widgets/brandsCarouselWidget.php
@@ -13,7 +13,7 @@ class brandsCarouselWidget extends Widget { | @@ -13,7 +13,7 @@ class brandsCarouselWidget extends Widget { | ||
13 | } | 13 | } |
14 | 14 | ||
15 | public function run() { | 15 | public function run() { |
16 | - $brands = Brand::find()->with('brandName')->all(); | 16 | + $brands = Brand::find()->all(); |
17 | return $this->render('brandsCarousel', [ | 17 | return $this->render('brandsCarousel', [ |
18 | 'brands' => $brands, | 18 | 'brands' => $brands, |
19 | ]); | 19 | ]); |
common/modules/product/widgets/views/submenu.php
1 | <div class="menu_item"> | 1 | <div class="menu_item"> |
2 | - <?= \yii\helpers\Html::a($rootCategory->categoryName->value, ['catalog/category', 'category' => $rootCategory], ['class' => 'submenu_button '. $rootClass])?> | 2 | + <?= \yii\helpers\Html::a($rootCategory->name, ['catalog/category', 'category' => $rootCategory], ['class' => 'submenu_button '. $rootClass])?> |
3 | <div class="submenu"> | 3 | <div class="submenu"> |
4 | <ul class="categories"> | 4 | <ul class="categories"> |
5 | <li class="sub_cat"><span>ะะพะฟัะปััะฝัะต ะบะฐัะตะณะพัะธะธ</span> | 5 | <li class="sub_cat"><span>ะะพะฟัะปััะฝัะต ะบะฐัะตะณะพัะธะธ</span> |
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | <?= $_item->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($_item->imageUrl, 'mainmenu') : ''?> | 15 | <?= $_item->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($_item->imageUrl, 'mainmenu') : ''?> |
16 | <?php endif?> | 16 | <?php endif?> |
17 | </div> | 17 | </div> |
18 | - <div class="title"><?= $_item->categoryName->value?></div> | 18 | + <div class="title"><?= $_item->name?></div> |
19 | </a></div> | 19 | </a></div> |
20 | <?php endforeach?> | 20 | <?php endforeach?> |
21 | </div> | 21 | </div> |
@@ -24,7 +24,7 @@ | @@ -24,7 +24,7 @@ | ||
24 | </li> | 24 | </li> |
25 | <?php foreach($items as $item) :?> | 25 | <?php foreach($items as $item) :?> |
26 | <li class="sub_cat"> | 26 | <li class="sub_cat"> |
27 | - <span><?= $item['item']->categoryName->value?></span> | 27 | + <span><?= $item['item']->name?></span> |
28 | <?php if(!empty($item['children'])) :?> | 28 | <?php if(!empty($item['children'])) :?> |
29 | <div class="sub_cat_content"> | 29 | <div class="sub_cat_content"> |
30 | <div class="content_items"> | 30 | <div class="content_items"> |
@@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
37 | <?= $_item['item']->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($_item['item']->imageUrl, 'mainmenu') : ''?> | 37 | <?= $_item['item']->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($_item['item']->imageUrl, 'mainmenu') : ''?> |
38 | <?php endif?> | 38 | <?php endif?> |
39 | </div> | 39 | </div> |
40 | - <div class="title"><?= $_item['item']->categoryName->value?></div> | 40 | + <div class="title"><?= $_item['item']->name?></div> |
41 | </a></div> | 41 | </a></div> |
42 | <?php endforeach?> | 42 | <?php endforeach?> |
43 | </div> | 43 | </div> |
common/modules/rubrication/views/tax-group/_form.php
@@ -26,7 +26,7 @@ use common\components\artboxtree\ArtboxTreeHelper; | @@ -26,7 +26,7 @@ use common\components\artboxtree\ArtboxTreeHelper; | ||
26 | ]) ?> | 26 | ]) ?> |
27 | 27 | ||
28 | <?= $form->field($model, 'group_to_category')->dropDownList( | 28 | <?= $form->field($model, 'group_to_category')->dropDownList( |
29 | - ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'categoryName.value'), | 29 | + ArtboxTreeHelper::treeMap(ProductHelper::getCategories(), 'category_id', 'name'), |
30 | [ | 30 | [ |
31 | 'multiple' => true | 31 | 'multiple' => true |
32 | ] | 32 | ] |
console/controllers/ImportController.php
@@ -3,7 +3,6 @@ | @@ -3,7 +3,6 @@ | ||
3 | namespace console\controllers; | 3 | namespace console\controllers; |
4 | 4 | ||
5 | use common\modules\product\models\Category; | 5 | use common\modules\product\models\Category; |
6 | -use common\modules\product\models\CategoryName; | ||
7 | use common\modules\product\models\Import; | 6 | use common\modules\product\models\Import; |
8 | use common\modules\product\models\ProductImage; | 7 | use common\modules\product\models\ProductImage; |
9 | use common\modules\product\models\ProductVariantType; | 8 | use common\modules\product\models\ProductVariantType; |
@@ -12,10 +11,8 @@ use common\modules\rubrication\models\TaxOption; | @@ -12,10 +11,8 @@ use common\modules\rubrication\models\TaxOption; | ||
12 | use common\modules\rubrication\models\TaxValueString; | 11 | use common\modules\rubrication\models\TaxValueString; |
13 | use Yii; | 12 | use Yii; |
14 | use common\modules\product\models\Brand; | 13 | use common\modules\product\models\Brand; |
15 | -use common\modules\product\models\BrandName; | ||
16 | use common\modules\product\models\Product; | 14 | use common\modules\product\models\Product; |
17 | use common\modules\product\models\ProductVariant; | 15 | use common\modules\product\models\ProductVariant; |
18 | -use common\modules\product\models\RemoteProducts; | ||
19 | use yii\console\Controller; | 16 | use yii\console\Controller; |
20 | use yii\helpers\Console; | 17 | use yii\helpers\Console; |
21 | 18 |
frontend/controllers/CatalogController.php
@@ -166,7 +166,7 @@ class CatalogController extends \yii\web\Controller | @@ -166,7 +166,7 @@ class CatalogController extends \yii\web\Controller | ||
166 | public function actionBrands() | 166 | public function actionBrands() |
167 | { | 167 | { |
168 | $dataProvider = new ActiveDataProvider([ | 168 | $dataProvider = new ActiveDataProvider([ |
169 | - 'query' => Brand::find()->joinWith('brandName')->orderBy('brand_name.value'), | 169 | + 'query' => Brand::find()->orderBy('name'), |
170 | 'pagination' => [ | 170 | 'pagination' => [ |
171 | 'pageSize' => -1, | 171 | 'pageSize' => -1, |
172 | ] | 172 | ] |
frontend/models/ProductFrontendSearch.php
@@ -91,7 +91,7 @@ class ProductFrontendSearch extends Product { | @@ -91,7 +91,7 @@ class ProductFrontendSearch extends Product { | ||
91 | $query = Product::find(); | 91 | $query = Product::find(); |
92 | } | 92 | } |
93 | $query->select(['product.*']); | 93 | $query->select(['product.*']); |
94 | - $query->joinWith(['enabledVariants','brand', 'brand.brandName', 'category', 'category.categoryName']); | 94 | + $query->joinWith(['enabledVariants','brand', 'category']); |
95 | 95 | ||
96 | $query->groupBy(['product.product_id', 'product_variant.price']); | 96 | $query->groupBy(['product.product_id', 'product_variant.price']); |
97 | 97 |
frontend/views/catalog/_product_item.php
@@ -19,8 +19,8 @@ use yii\helpers\Url; | @@ -19,8 +19,8 @@ use yii\helpers\Url; | ||
19 | 'product' => $model->alias | 19 | 'product' => $model->alias |
20 | ]) ?>"> | 20 | ]) ?>"> |
21 | <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->enabledVariants[ 0 ]->imageUrl, 'list', [ | 21 | <?= \common\components\artboximage\ArtboxImageHelper::getImage($model->enabledVariants[ 0 ]->imageUrl, 'list', [ |
22 | - 'alt' => $model->category->categoryName->value . ' ' . $model->fullname, | ||
23 | - 'title' => $model->category->categoryName->value . ' ' . $model->fullname, | 22 | + 'alt' => $model->category->name . ' ' . $model->fullname, |
23 | + 'title' => $model->category->name . ' ' . $model->fullname, | ||
24 | 'class' => 'selected' | 24 | 'class' => 'selected' |
25 | ]) ?> | 25 | ]) ?> |
26 | </a> | 26 | </a> |