diff --git a/console/migrations/m151219_103804_goods_view.php b/console/migrations/m151219_103804_goods_view.php index 3c642b8..b3bc177 100644 --- a/console/migrations/m151219_103804_goods_view.php +++ b/console/migrations/m151219_103804_goods_view.php @@ -17,7 +17,7 @@ class m151219_103804_goods_view extends Migration `w_importers`.`name` as `importer_name`, `t`.`rate` as rate, `t`.`id` as currency_id, - `w_importers`.`delivery`, + CAST(`w_importers`.`delivery` AS UNSIGNED ) as delivery, if (`w_details_description`.`description` = '', if (`w_details_description`.`tecdoc_description` = '', `w_details_description`.`supplier_description`, diff --git a/frontend/controllers/GoodsController.php b/frontend/controllers/GoodsController.php index 2c104a8..e365ddf 100644 --- a/frontend/controllers/GoodsController.php +++ b/frontend/controllers/GoodsController.php @@ -22,12 +22,10 @@ class GoodsController extends Controller public function actionIndex($name, $id) { - $arr_name = explode('_', $name); $brand = $arr_name[0]; $article = $arr_name[1]; - $params = Yii::$app->request->getQueryParams(); // получим параметры сортировки из гет запроса @@ -38,15 +36,12 @@ class GoodsController extends Controller 'brand' => $brand]; $arr = ['GoodsViewSearch' => $arr_values]; - if(empty( Yii::$app->user->identity )){ + if (empty(Yii::$app->user->identity)) { $margin_id = 1; - }else{ + } else { $margin_id = Yii::$app->user->identity->margin_id; } -// $arr = ['GoodsViewSearch' => ['name' => '0092S40090', -// 'brand' => 'BOSCH']]; - if (empty(Yii::$app->user->identity)) { $margin_id = 1; } else { @@ -68,6 +63,8 @@ class GoodsController extends Controller 'goods_data_provider' => $goods_provider, 'crosses_data_provider' => $crosses_provider, 'detailsModel' => $detailsModel, + 'sort_params_or' => $sort_params_or, + 'sort_params_cross' => $sort_params_cross, ]); } @@ -81,7 +78,7 @@ class GoodsController extends Controller $default_sort_params = ['price' => SORT_DESC]; $sort_params = []; - if ( empty( $params['sort'] ) ) { + if (empty($params['sort'])) { // нет параметров - сортируем по цене по убыванию $sort_params = $default_sort_params; @@ -98,19 +95,11 @@ class GoodsController extends Controller } } if ( empty( $sort_params ) ) { - //$price_margin_id = Yii::$app->session->getFlash('price_margin_id',1); // если так и ненашли подходящих параметров, значит сортируем другую таблицу - // а для этой вытащим из кеша или дефолтная сортировка - if ( Yii::$app->cache->exists( "sort_{$prefix}" ) ) { - $sort_params = Yii::$app->cache->get( "sort_{$prefix}" ); - } else { - $sort_params = $default_sort_params; - } - } else { - Yii::$app->cache->set( "sort_{$prefix}", $sort_params, 300 ); + // а для этой дефолтная сортировка + $sort_params = $default_sort_params; } } - return $sort_params; } diff --git a/frontend/views/goods/index.php b/frontend/views/goods/index.php index 2f0d1a5..93a9e1f 100644 --- a/frontend/views/goods/index.php +++ b/frontend/views/goods/index.php @@ -8,10 +8,12 @@ $sort = new Sort([ 'box_or' => ['label' => 'Наличие'], 'delivery_or' => ['label' => 'Срок'], 'price_or' => [ + 'default' => SORT_DESC, 'label' => 'Цена'], 'box_cross' => ['label' => 'Наличие'], 'delivery_cross' => ['label' => 'Срок'], 'price_cross' => [ + 'default' => SORT_DESC, 'label' => 'Цена'], ], ]); @@ -20,7 +22,41 @@ $this->registerJsFile('/js/jquery.tablesorter.min.js'); $this->registerJsFile('/js/goods.js'); $this->params['breadcrumbs'][] = $this->title; -Pjax::begin(); + +// определим направление сортировки, для отображения стрелочек +// для оригинальной таблицы +if( empty($sort_params_or['price']) ){ + $price_or_class = ''; +}else{ + $price_or_class = ($sort_params_or['price'] == 4)? 'arrow_up': 'arrow_downA'; +} +if( empty($sort_params_or['delivery']) ){ + $delivery_or_class = ''; +}else{ + $delivery_or_class = ($sort_params_or['delivery'] == 4)? 'arrow_up': 'arrow_downA'; +} +if( empty($sort_params_or['box']) ){ + $box_or_class = ''; +}else{ + $box_or_class = ($sort_params_or['box'] == 4)? 'arrow_up': 'arrow_downA'; +} +// для кросс таблицы +if( empty($sort_params_cross['price']) ){ + $price_cross_class = ''; +}else{ + $price_cross_class = ($sort_params_cross['price'] == 4)? 'arrow_up': 'arrow_downA'; +} +if( empty($sort_params_cross['delivery']) ){ + $delivery_cross_class = ''; +}else{ + $delivery_cross_class = ($sort_params_cross['delivery'] == 4)? 'arrow_up': 'arrow_downA'; +} +if( empty($sort_params_cross['box']) ){ + $box_cross_class = ''; +}else{ + $box_cross_class = ($sort_params_cross['box'] == 4)? 'arrow_up': 'arrow_downA'; +} + ?> @@ -106,15 +142,16 @@ Pjax::begin();
UAH
EUR
+ 'original']); ?>Фирма | Номер детали | Описание | - | = $sort->link('box_or') ?> | -= $sort->link('delivery_or') ?> | -= $sort->link('price_or') ?> | += $sort->link('box_or') ?> | += $sort->link('delivery_or') ?> | += $sort->link('price_or') ?> |
Замены искомого производителя
@@ -139,9 +178,9 @@ Pjax::begin();
В наличии на центральном складе ItalAuto, в Киеве