alexeylobas

Сортировка по наличию

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

alexeylobas    1

У меня да и наверно как и у всех стоит сортировка "По умолчанию" , а как сделать чтобы товары с количеством "0" выводились в конце изначально ?= Это приоритет !

Ну а если такое возможно , ещё и реализовать  смену цвета как на скрине

Изменено пользователем alexeylobas

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    936

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
alexeylobas    1

Да действительно решение есть  по сортировке по наличию , а как сделать что бы цвет менялся ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
alexeylobas    1

Мне подошло только одно решение: в catalog\model\catalog\product.php

 

вот это:

  1. if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
  2.             if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
  3.                 $sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
  4.             } elseif ($data['sort'] == 'p.price') {
  5.                 $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
  6.             } else {
  7.                 $sql .= " ORDER BY " . $data['sort'];
  8.             }
  9.         } else {
  10.             $sql .= " ORDER BY p.sort_order";    
  11.         }

на это :

 

  1. if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
  2.             if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
  3.                 $sql .= " ORDER BY (p.quantity>0) DESC, LCASE(" . $data['sort'] . ")";
  4.             } elseif ($data['sort'] == 'p.price') {
  5.                 $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)";
  6.             } else {
  7.                 $sql .= " ORDER BY (p.quantity>0) DESC," . $data['sort'];
  8.             }
  9.         } else {
  10.             $sql .= " ORDER BY (p.quantity>0) DESC, p.sort_order";    
  11.         }

как тут можно ещё подправить цвет товаров с количеством "0" , или где это можно сделать?

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу