Commit ac8d2b24ad0c81fa09f979de143ef9d5646bf2d1
1 parent
1e943c2b
add variantSku
Showing
2 changed files
with
38 additions
and
27 deletions
Show diff stats
helpers/FilterHelper.php
... | ... | @@ -245,29 +245,40 @@ |
245 | 245 | * @var string $param Inputed keyword |
246 | 246 | */ |
247 | 247 | foreach ($params as $param) { |
248 | - $conditions[] = [ | |
249 | - 'or', | |
250 | - [ | |
251 | - 'ilike', | |
252 | - ProductLang::tableName() . '.title', | |
253 | - $param, | |
254 | - ], | |
255 | - [ | |
256 | - 'ilike', | |
257 | - BrandLang::tableName() . '.title', | |
258 | - $param, | |
259 | - ], | |
260 | - [ | |
261 | - 'ilike', | |
262 | - CategoryLang::tableName() . '.title', | |
263 | - $param, | |
264 | - ], | |
265 | - [ | |
266 | - 'ilike', | |
267 | - ProductVariantLang::tableName() . '.title', | |
268 | - $param, | |
269 | - ], | |
270 | - ]; | |
248 | + | |
249 | + if(iconv_strlen($param) > 5){ | |
250 | + $conditions[] = [ | |
251 | + 'or', | |
252 | + [ | |
253 | + 'ilike', | |
254 | + ProductLang::tableName() . '.title', | |
255 | + $param, | |
256 | + ], | |
257 | + [ | |
258 | + 'ilike', | |
259 | + BrandLang::tableName() . '.title', | |
260 | + $param, | |
261 | + ], | |
262 | + [ | |
263 | + 'ilike', | |
264 | + CategoryLang::tableName() . '.title', | |
265 | + $param, | |
266 | + ], | |
267 | + [ | |
268 | + 'ilike', | |
269 | + ProductVariantLang::tableName() . '.title', | |
270 | + $param, | |
271 | + ], | |
272 | + [ | |
273 | + 'ilike', | |
274 | + ProductVariant::tableName() . '.sku', | |
275 | + $param, | |
276 | + ] | |
277 | + | |
278 | + ]; | |
279 | + } | |
280 | + | |
281 | + | |
271 | 282 | } |
272 | 283 | } |
273 | 284 | if (count($conditions) > 1) { | ... | ... |
models/ProductFrontendSearch.php
... | ... | @@ -94,11 +94,11 @@ |
94 | 94 | ], |
95 | 95 | ] |
96 | 96 | ); |
97 | - | |
98 | - $dataProvider = new ArrayDataProvider( | |
97 | + | |
98 | + $dataProvider = new ActiveDataProvider( | |
99 | 99 | [ |
100 | - 'allModels' => $this->getSearchQuery($category, $params, $in_stock) | |
101 | - ->with('variant', 'videos')->all(), | |
100 | + 'query' => $this->getSearchQuery($category, $params, $in_stock) | |
101 | + ->with('variant', 'videos'), | |
102 | 102 | 'pagination' => [ |
103 | 103 | 'pageSize' => 12, |
104 | 104 | ], | ... | ... |