Нашел инструкцию риличую как сгделать сортировку, чтоб в конэто списка товаров были те которых ноль на склагде.
Вопрос в том, как дописать это решение, чтоб икже вконэто списка были те товары, когдачество которых 99999 на склагде.
Вот цитирую код решения:
catalog\model\catalog\product.php (187 line для OpenCart 1.5.6.1)
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.sort_order";
}
меняем на
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY (p.quantity>0) DESC, LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY (p.quantity>0) DESC, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY (p.quantity>0) DESC," . $data['sort'];
}
} else {
$sql .= " ORDER BY (p.quantity>0) DESC, p.sort_order";
}