Сообщение #5 zyxer » 23.09.2019, 07:12
sh877 писал(а):Как реализовать данные решения для версии OkayCMS 3.0.2
нужно в Okay/Entities/ProductsEntity в методе customOrder добавить еще один кейс.
Код: Выделить всё
case 'stock' :
$orderFields = [
"( (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",
];
break;
Обратите внимание, $orderFields это массив с двух элементов. Доработку в контроллере я так понимаю вы сами сможете реализовать? CategoryController это аналог старого ProductsView
[quote="sh877"]Как реализовать данные решения для версии OkayCMS 3.0.2[/quote]
нужно в Okay/Entities/ProductsEntity в методе customOrder добавить еще один кейс.
[code]
case 'stock' :
$orderFields = [
"( (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",
];
break;[/code]
Обратите внимание, $orderFields это массив с двух элементов. Доработку в контроллере я так понимаю вы сами сможете реализовать? CategoryController это аналог старого ProductsView
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS