COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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


Recommended Posts

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

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

 

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 вы будете свои статусы оставшиеся сортировать как нужно. А можно и без количества, если создадите статусы по нужному вам порядку.

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

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

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

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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