isa160 Опубликовано: августа 27, 2018 Жалоба Поделиться Опубликовано: августа 27, 2018 Есть три вида товаров - В наличии, Под заказ и Нет в наличии(те, которых больше никогда не будет на сайта), как выводить их именно в таком порядке ? В наличии, Под заказ и нет в наличии? Знаю, как выводить В наличии и не в Наличии, но как разделить те что Под заказ и нет в наличии- не понимаю Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
isa160 Опубликовано: августа 29, 2018 Автор Жалоба Поделиться Опубликовано: августа 29, 2018 Неужели никто не знает ответа??? Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
BuslikDrev Опубликовано: августа 29, 2018 Жалоба Поделиться Опубликовано: августа 29, 2018 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.quantity DESC, p.stock_status_id DESC, LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY p.quantity DESC, 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.quantity DESC, p.stock_status_id DESC, " . $data['sort']; } } else { $sql .= " ORDER BY p.quantity DESC, p.stock_status_id DESC, p.sort_order"; } По количеству, потом по статусу. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
isa160 Опубликовано: августа 29, 2018 Автор Жалоба Поделиться Опубликовано: августа 29, 2018 1 час назад, BuslikDrev сказал: 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.quantity DESC, p.stock_status_id DESC, LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY p.quantity DESC, 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.quantity DESC, p.stock_status_id DESC, " . $data['sort']; } } else { $sql .= " ORDER BY p.quantity DESC, p.stock_status_id DESC, p.sort_order"; } По количеству, потом по статусу. по количеству разобрался, а по статусу не понял как, не подскажите? Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
BuslikDrev Опубликовано: августа 29, 2018 Жалоба Поделиться Опубликовано: августа 29, 2018 57 минут назад, isa160 сказал: по количеству разобрался, а по статусу не понял как, не подскажите? Я же выделил. Смотрите урок 3 пример: Скрытый текст http://code.mu/sql/order-by.html То есть при количестве = 0 вы будете свои статусы оставшиеся сортировать как нужно. А можно и без количества, если создадите статусы по нужному вам порядку. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
isa160 Опубликовано: августа 30, 2018 Автор Жалоба Поделиться Опубликовано: августа 30, 2018 В 29.08.2018 at 18:11, BuslikDrev сказал: Я же выделил. Смотрите урок 3 пример: Скрыть содержимое http://code.mu/sql/order-by.html То есть при количестве = 0 вы будете свои статусы оставшиеся сортировать как нужно. А можно и без количества, если создадите статусы по нужному вам порядку. Спасибо большое Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.