Как сделать чтобы товары с количеством "0" были в конце списка?

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

dimon M
dimon M
Репутация: 2
Сообщения: 64
Зарегистрирован: 16.08.2017
С нами: 2 года 1 месяц
Откуда: Харьков

Сообщение #1 dimon » 06.09.2019, 07:36

Добрый день!
Как сделать чтобы товары с количеством "0" были в конце списка?
---
С ценой я сделал вот так:
файл api/Products.php
строка 109 вместо:
case 'position':
$order = 'p.position DESC';
break;
написал:
case 'position':
$order = '( (SELECT count(pv.id)
FROM __variants pv
WHERE pv.price > 0 AND p.id = pv.product_id)>0 ) DESC, p.position DESC';
break;

korshunov
korshunov
Репутация: 91
Сообщения: 1038
Зарегистрирован: 03.12.2015
С нами: 3 года 9 месяцев
Skype

Сообщение #2 korshunov » 06.09.2019, 09:26

Пробуйте

$order = '( (SELECT count(pv.id)
FROM __variants pv
WHERE (pv.stock > 0 OR pv.stock IS NULL) AND p.id = pv.product_id)>0 ) DESC, p.position DESC';

dimon M
dimon M
Репутация: 2
Сообщения: 64
Зарегистрирован: 16.08.2017
С нами: 2 года 1 месяц
Откуда: Харьков

Сообщение #3 dimon » 06.09.2019, 12:41

korshunov писал(а):Пробуйте

$order = '( (SELECT count(pv.id)
FROM __variants pv
WHERE (pv.stock > 0 OR pv.stock IS NULL) AND p.id = pv.product_id)>0 ) DESC, p.position DESC';
Все Ок, получилось, спасибо!

sh877
sh877
Репутация: 1
Сообщения: 2
Зарегистрирован: 16.05.2017
С нами: 2 года 4 месяца

Сообщение #4 sh877 » 20.09.2019, 08:48

Как реализовать данные решения для версии OkayCMS 3.0.2


Название раздела: Заказ шаблонов и услуг
Правила раздела: faq.php?mode=okay

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


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

   

Вернуться в «Заказ шаблонов и услуг»

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

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