Как сделать сортировку товаров по дате добавления и наличию? Главное что бы выполнялось условие, что первыми сортируются товары по дате добавления и потом уже сортируются товары которых нет в наличии.
http://forum.opencart-russia.ru/threads/dvojnaja-sortirovka-spiska.427/#post-2621 только там наверно еще надо вместо p.price desc написать p.date_available desc
Не совсем то что нужно. Нашел решение. 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 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"; $sql .= " ORDER BY " . 'p.price desc, p.quantity'; } меняем на Код: 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"; }
Сделал как описано выше, но товары которых нет в наличии при сортировке все равно идут вперемешку с теми, которые есть в наличии.
1. Модификаторы обновили? 2. Фильтры какие нибудь может стоят? 3. Что то сами с сортировкой делали? 4. Шаблон стандартный? 5. Версия движка?