Всем привет. У всех товаров в магазине количество 0 и установлен статус при отсутствии на складе (например: "В наличии", "На заказ", "Нет в наличии"). В категории сделана сортировка товаров по умолчанию. Я каждому товару присваиваю sort_id (порядок сортировки) в ручном режиме. Хотелось бы чтобы sort_id выставлялся автоматически, в зависимости от статуса. Всем товарам со статусом "В наличии" - sort_order 1, "На заказ"- sort_order 2, "Нет в наличии" - sort_order 3. Подскажите, как это можно сделать?
Искал в гугле, вот такие костыли нашел, не знаю рабочий ли это вариант.
в catalog\model\catalog\product.php
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY p.stock_status_id DESC, LCASE(" . $data['sort'] . ")";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY p.stock_status_id 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.stock_status_id DESC, " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.stock_status_id DESC, p.sort_order";