diff --git a/common/entities/Product.php b/common/entities/Product.php index 0770506..71a2982 100644 --- a/common/entities/Product.php +++ b/common/entities/Product.php @@ -206,6 +206,7 @@ public function attributeLabels() 'price_id' => Yii::t('shop', 'Price'), 'number' => Yii::t('shop', 'Number'), 'show' => Yii::t('shop', 'Show'), + 'shows' => Yii::t('shop', 'Shows'), ]; } diff --git a/common/entities/SearchProduct.php b/common/entities/SearchProduct.php index 0d9b4b4..1ac17e2 100644 --- a/common/entities/SearchProduct.php +++ b/common/entities/SearchProduct.php @@ -46,11 +46,15 @@ public function scenarios() public function search($params) { $query = (\Yii::$app->user->can('viewCompleteProductList')) ? - Product::find()->joinWith('translations')->orderBy(['category_id' => SORT_ASC, 'position' => SORT_ASC]) : - Product::find()->joinWith('translations')->where(['owner' => \Yii::$app->user->id])->orderBy(['category_id' => SORT_ASC, 'position' => SORT_ASC]); + Product::find()->joinWith('translations') : + Product::find()->joinWith('translations')->where(['owner' => \Yii::$app->user->id]); $this->load($params); + if (empty($params['sort'])) { + $query->orderBy(['category_id' => SORT_ASC, 'position' => SORT_ASC]); + } + $query->andFilterWhere([ 'shop_product.category_id' => $this->category, ])->andFilterWhere(['like', 'shop_product_translation.title', $this->title @@ -59,6 +63,8 @@ public function search($params) $dataProvider = new ActiveDataProvider([ 'query' => $query, + 'sort' => ['attributes' => ['shows']], + 'pagination' => [ 'pagesize' => 10, ],