Неправильная сортировка товаров по названию

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #1 korshunov » 31.07.2018, 11:45

На странице категорий есть возможность сортировать список товаров по названию.
Однако эта сортировка работает совершенно неправильно.
SQL запрос в этом случае содержит ORDER BY p.name. Поле p.name обычно не используется и почти никогда не видно, поэтому сортировка получается практически случайной.
Сортировать-то надо бы по ЯЗЫКОВОМУ полю l.name ...

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #2 makki » 31.07.2018, 12:20

Там в api/Products.php в функции get_products в sql запросе есть $lang_sql->fields и $lang_sql->join. Так-что все там правильно, выбирается поле l.name
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 31.07.2018, 14:32

Да, поле l.name там действительно выбирается. Но речь не об этом, а о том, что СОРТИРУЕТСЯ не по тому полю.
То есть сортировка там сделана ПРИНЦИПИАЛЬНО неправильная.

Я не поленился, провел маленький опыт, сделав SQL-запрос
update`ok_products` set name = round(30000*rand());
После этого хорошо видно неправильную сортировку...


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 12 гостей