Сортировка товаров с нулевой ценой

Riva

Папочка
Регистрация
2 Мар 2013
Сообщения
560
Реакции
660
Как сделать чтобы товары у которых цена = 0 при сортировке по возрастанию цены были в конце списка?
 
Как сделать чтобы товары у которых цена = 0 при сортировке по возрастанию цены были в конце списка?
В селекте вставить новый параметр:
....., IF(ps_product.price > 0, 0, 1) AS zero_price, .....
потом в ORDER BY первым поставить именно этот параметр:
ORDER BY zero_price, .....

P.S. Если в таблице ОЧЕНЬ МНОГО товаров, то этот способ может вызвать замедление SQL-запроса, т.к. это сортировка по неиндексированному полю. Тогда лучше этот параметр сделать отдельным индексированным полем в таблице, если эта сортировка так важна.
 
А подробнее можно какой именно файл редактировать или может есть готовый файл?
 
А подробнее можно какой именно файл редактировать или может есть готовый файл?
Category.php функция getProducts(), если используется модуль фильтрации, то править еще и там. Если стандартный престовский ps_facetedsearch или blocklayered, то там функция getProductByFilters(). Если сторонний - то разбираться отдельно. Готового файла нет.
 
Назад
Сверху