Commit c3d12ab0d53e3c5c73e4f38338b97021c60aca60

Authored by Administrator
1 parent d7b7bdaf

add variantSku

Showing 1 changed file with 21 additions and 11 deletions   Show diff stats
models/ProductFrontendSearch.php
@@ -4,7 +4,6 @@ @@ -4,7 +4,6 @@
4 4
5 use artweb\artbox\ecommerce\helpers\FilterHelper; 5 use artweb\artbox\ecommerce\helpers\FilterHelper;
6 use artweb\artbox\ecommerce\models\Category; 6 use artweb\artbox\ecommerce\models\Category;
7 - use artweb\artbox\language\models\Language;  
8 use yii\base\Model; 7 use yii\base\Model;
9 use yii\data\ActiveDataProvider; 8 use yii\data\ActiveDataProvider;
10 use yii\data\ArrayDataProvider; 9 use yii\data\ArrayDataProvider;
@@ -118,16 +117,22 @@ @@ -118,16 +117,22 @@
118 return $dataProvider; 117 return $dataProvider;
119 } 118 }
120 119
121 - /**  
122 - * @param Category $category  
123 - * @param array $params  
124 - * @param bool $in_stock  
125 - * @return mixed  
126 - */  
127 - public function getSearchQuery($category, $params = [], $in_stock = true) 120 + public function getSearchQuery($category = null, $params = [], $in_stock = true)
128 { 121 {
129 122
130 - $query = $category->getProducts(); 123 + if (!empty( $category )) {
  124 + /** @var ActiveQuery $query */
  125 + /**@var Category $category * */
  126 + $query = $category->getProducts();
  127 +
  128 + } else {
  129 + $query = Product::find()
  130 + ->joinWith(
  131 + [
  132 + 'category.lang',
  133 + ]
  134 + );
  135 + }
131 136
132 $query->select([ 'product.*' ]); 137 $query->select([ 'product.*' ]);
133 $query->joinWith( 138 $query->joinWith(
@@ -171,7 +176,6 @@ @@ -171,7 +176,6 @@
171 ] 176 ]
172 ); 177 );
173 178
174 -  
175 FilterHelper::setQueryParams($query, $params); 179 FilterHelper::setQueryParams($query, $params);
176 return $query; 180 return $query;
177 } 181 }
@@ -184,7 +188,13 @@ @@ -184,7 +188,13 @@
184 188
185 public function priceLimits($category = null, $params = []) 189 public function priceLimits($category = null, $params = [])
186 { 190 {
187 - $query = $category->getProducts(); 191 + if (!empty( $category )) {
  192 + /** @var ActiveQuery $query */
  193 + // $query = $category->getRelations('product_categories');
  194 + $query = $category->getProducts();
  195 + } else {
  196 + $query = Product::find();
  197 + }
188 198
189 $query->select(['MAX('.ProductVariant::tableName() . '.price) as max', 'MIN('.ProductVariant::tableName() . '.price) as min']); 199 $query->select(['MAX('.ProductVariant::tableName() . '.price) as max', 'MIN('.ProductVariant::tableName() . '.price) as min']);
190 $query->joinWith('variant'); 200 $query->joinWith('variant');