Prestashop 1.6, модуль для фильтрации использую blocklayered
Пытаюсь сделать двойную сортировку (наличие, цена) пытался сделать так.
В админке в настройках -> товары сделал вывод по наличию по убыванию
в файле класса категории /classes/Category.php
заменил
else
$sql .= ' ORDER BY '.(isset($order_by_prefix) ? $order_by_prefix.'.' : '').'`'.pSQL($order_by).'` '.pSQL($order_way).'
LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n;
на
elseif ($order_by == 'quantity') {
$sql .= ' ORDER BY IF(stock.`quantity`>0,1,0) DESC, p.`price` ASC LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n;
} else {
$sql .= ' ORDER BY '.(isset($order_by_prefix) ? $order_by_prefix.'.' : '').'`'.pSQL($order_by).'` '.pSQL($order_way).'
LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n;
}
И по цене всё равно не сортирует( что не так?
Код взят с другой темы на этом форуме, в php я не очень силен.