Доброго времени суток! Необходимо чтобы по уолчанию сортировка на странице категории производилась по "stock_status_id". Я добавил в "catalog/controller/product/category.php file: if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.stock_status_id'; } и в “catalog/model/catalog/product.php” исправил масив $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added', 'p.stock_status_id' ); Казалось бы этого достаточно, но нет. Не сортирует. Подскажите что не так или возможно по этому полю нельзя сортировать? Заранее благодарен.
Если кэш окмод обновили и проблема осталась, в “catalog/model/catalog/product.php” в функции getProducts перед: Код: $query = $this->db->query($sql); Добавьте Код: $this->log->write($sql); И посмотрите в Журнале ошибок какой запрос получается. Если запрос верный - значит какой-то js-скрипт при загрузке вьюхи что-то меняет.
Спасибо за помощь! С OpenCart работаю недавно. Оказалось что модуль Brainy Filter меняет вывод. Пришлось прибегнуть к одной хитрости: Модули / Расширения: Brainy Filter активирован. Модификаторы: Brainy Filter выключен. При таком сетинге фильтр отображается и как бы работает, но продукты не фильтруются)) Если включаю сортировка ломается причем только для той сортировки что я добавил))
Ну так откройте модуль, и там добавьте нужную вам сортировку. Хотя сделать это не совсем легко, но не сложно
Спасибо за помощь! Нашел и добавил. Они перезаписывали метод getProducts, нужно было в prepareQueryForCategory добавить.
Не подскажете как удалось решить вопрос? Пытаюсь сейчас реализовать сброс товаров с нулевой стоимостью в конец списка, но brainy filter не дает это сделать.