Сортировка товаров по наличию, с тремя видами


isa160
 Поделиться

Рекомендуемые сообщения

Есть три вида товаров - В наличии, Под заказ и Нет в наличии(те, которых больше никогда не будет на сайта), как выводить их именно в таком порядке ? В наличии, Под заказ и нет в наличии? Знаю, как выводить В наличии и не в Наличии, но как разделить те что Под заказ и нет в наличии- не понимаю

Ссылка на комментарий
Поделиться на других сайтах

 

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";
        }

По количеству, потом по статусу.

Ссылка на комментарий
Поделиться на других сайтах

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";
        }

По количеству, потом по статусу.

по количеству разобрался, а по статусу не понял как, не подскажите?

Ссылка на комментарий
Поделиться на других сайтах

57 минут назад, isa160 сказал:

по количеству разобрался, а по статусу не понял как, не подскажите?

Я же выделил.
Смотрите урок 3 пример:

Скрытый текст


То есть при количестве = 0 вы будете свои статусы оставшиеся сортировать как нужно. А можно и без количества, если создадите статусы по нужному вам порядку.

Ссылка на комментарий
Поделиться на других сайтах

В 29.08.2018 at 18:11, BuslikDrev сказал:

Я же выделил.
Смотрите урок 3 пример:

  Скрыть содержимое


То есть при количестве = 0 вы будете свои статусы оставшиеся сортировать как нужно. А можно и без количества, если создадите статусы по нужному вам порядку.

Спасибо большое

 

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу