Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не работает сортировка по цене Opencart 1.5


maxrexfax

Recommended Posts

Сайт существует давно. Я с ним "дружу" недавно. В категориях не работает сортировка по цене, при выборе обоих вариантов (по возрастанию и убыванию) просто падает страница. Включил отчет об ошибках, получил такое:


Fatal error: Uncaught exception 'ErrorException' with message 'Error: Unknown column 'special' in 'order clause'<br />Error No: 1054<br />SELECT p.product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '2020-05-26 11:02:00') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '2020-05-26 11:02:00')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '2020-05-26 11:02:00') AND (ps.date_end = '0000-00-00' OR ps.date_end > '2020-05-26 11:02:00')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM oc_product_to_category p2c LEFT JOIN oc_product p ON (p2c.product_id in /home/libramarket.com.ua/www/system/database/mysqli.php on line 41.

 

На данный момент сделал костыль - если в контроллере категории в сортировке добавить код &coolfilter=p:1,99999 как ниже, то ошибка исчезает. Это дополнительный вызов "умного фильтра" для выборки по цене. То есть, со вторым параметром GET запроса страница не падает, а с одним вида ?sort=p.price&order=DESC - падает.

$this->data['sorts'][] = array(
				'text'  => $this->language->get('text_price_asc'),
				'value' => 'p.price-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC&coolfilter=p:1,99999' . $url)
			); 

Как пример перейдите по ссылке на сайт БЕЗ костыля, чтобы понимать как это выглядит. Контроллер категорий прикрепляю.

category.php

Надіслати
Поділитися на інших сайтах


Благодарю, но ситуация отличается! Что это за финт, что при наличии второго и далее гет запросов запрос корректно обрабатывается, а при одном падает? То есть в принципе, сортировка по цене работает, но только если ее "прикрыть" вторым аргументом гет-запроса. Вот что странно.

Змінено користувачем maxrexfax
Надіслати
Поділитися на інших сайтах


2 часа назад, maxrexfax сказал:

Благодарю, но ситуация отличается! Что это за финт, что при наличии второго и далее гет запросов запрос корректно обрабатывается, а при одном падает? То есть в принципе, сортировка по цене работает, но только если ее "прикрыть" вторым аргументом гет-запроса. Вот что странно.

хрустального шара нет к сожалению. сказать что там у вас происходит и в результате каких правок это возникло невозможно не видя в реальности.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.