ilm

Как изменить порядок сортировки по-умолчанию?

Рекомендуемые сообщения

ilm    13

Добрый день.
OCStore 2.1.0.2.1

Надо изменить порядок сортировки по-умолчанию, чтобы сортировалось по цене.

В файле /catalog/controller/product/category.php
меняю 
 

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.sort_order';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}

на 

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.price';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}

Но результата это не дает. Модификаторы чистил, кеш обновлял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exploits    146

А товару присвоили порядок?

Причем здесь порядок сиртировки - если надо по цене?)

Что бы сортировало по цене идем в catalog/controller/product/category.php

Ищем строки:

$data = array(
'filter_category_id' => $category_id,
'filter_filter'      => $filter, 
'sort'               => $sort,
'order'              => $order,
'start'              => ($page - 1) * $limit,
'limit'              => $limit
);

И соответственно перед первой строкой этого участка $data = array( пишем:

if (!isset($this->request->get['sort'])) {
$sort = 'p.price';
}
if (!isset($this->request->get['order'])) {
$order = 'ASC'; //от дешевых к дорогим (DESC от дорогим к дешевым)
}

После этого будет по умолчанию сортировать по цене.

Изменено пользователем Exploits

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ilm    13

Не помогло.
Это же по сути дублирует тот код, что я написал.
В том же файле, 18 строка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pantagruel964    219

 

Причем здесь порядок сиртировки - если надо по цене?)

Во сне писал, читал снизу вверх  :?

 

Не помогло.

Это же по сути дублирует тот код, что я написал.

В том же файле, 18 строка

Правок из первого сообщения должно хватить. Фильтр используете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exploits    146

Не помогло.

Это же по сути дублирует тот код, что я написал.

В том же файле, 18 строка

Код Ваш не посмотрел, да должно работать, но что-то фильтрует по другому, попробуйте впилить так:

$data = array(
'filter_category_id' => $category_id,
'filter_filter'      => $filter, 
'sort'               => 'p.price',
'order'              => 'ASC',
'start'              => ($page - 1) * $limit,
'limit'              => $limit
);

работает? Если нет - то смотрите не сортирует ли что-то массив товаров уже после выборки если нет - то смотрите в модели что там.

Изменено пользователем Exploits

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exploits    146

Код Ваш не посмотрел, да должно работать, но что-то фильтрует по другому, попробуйте впилить так:

$data = array(
'filter_category_id' => $category_id,
'filter_filter'      => $filter, 
'sort'               => 'p.price',
'order'              => 'ASC',
'start'              => ($page - 1) * $limit,
'limit'              => $limit
);

работает? Если нет - то смотрите не сортирует ли что-то массив товаров уже после выборки если нет - то смотрите в модели что там.

И по фильтру - да может быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу