Yuriy_Z
Доработка+ OpenCart
- Регистрация
- 22 Июл 2012
- Сообщения
- 159
- Реакции
- 92
- Автор темы
- #1
Всем известный стандартный способ сортировки товаров в категории на opencart(по цене, названию ... по количеству отображаемых товаров на странице).
Сортировка работает нормально, вот только есть одно неудобство для пользователей сайта - если перейти на другую страницу или категорию сайта то ранее выбранный вами способ сортировки не запоминается и при открытии другой категории вам приходится снова выбирать способ сортировки.
Для того чтобы способ сортировки запоминался необходимо всего в одном файле внести изменения а именно в
catalog/controller/product/category.php
Ищем
Меняем на
Ищем
Меняем на
Сортировка работает нормально, вот только есть одно неудобство для пользователей сайта - если перейти на другую страницу или категорию сайта то ранее выбранный вами способ сортировки не запоминается и при открытии другой категории вам приходится снова выбирать способ сортировки.
Для того чтобы способ сортировки запоминался необходимо всего в одном файле внести изменения а именно в
catalog/controller/product/category.php
Ищем
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';
}
PHP:
if (empty($_SESSION['sort']) or empty($_SESSION['order'])) {
$sort = $_SESSION['sort'] = isset($this->request->get['sort']) ? $this->request->get['sort'] : 'p.sort_order';
$order = $_SESSION['order'] = isset($this->request->get['order']) ? $this->request->get['order'] : 'ASC';
} elseif(isset($this->request->get['sort'])) {
$sort = $_SESSION['sort'] = $this->request->get['sort'];
$order = $_SESSION['order'] = $this->request->get['order'];
} else {
$sort = $_SESSION['sort'];
$order = $_SESSION['order'];
}
PHP:
if (isset($this->request->get['limit'])) {
$limit = $this->request->get['limit'];
} else {
$limit = $this->config->get('config_catalog_limit');
}
PHP:
if (empty($_SESSION['limit'])) {
$limit = $_SESSION['limit'] = isset($this->request->get['limit']) ? $this->request->get['limit'] : $this->config->get('config_catalog_limit');
} elseif(isset($this->request->get['limit'])) {
$limit = $_SESSION['limit'] = $this->request->get['limit'];
} else $limit = $_SESSION['limit'];