Перейти к содержимому


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


  • Вы не можете ответить в тему
Сообщений в теме: 4

#1 AVATARA

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 0
Начинающий

Отправлено 01 October 2011 - 11:21 AM

Вдруг кому пригодится =)
В файле core/functions/product_functions.php правим строку
$order_by_clause = "order by ".CONF_DEFAULT_SORT_ORDER."";
на
$order_by_clause = "order by price > 0 DESC, sort_order, name ASC";
Сохраняем и чистим кеш. После этого будет сортировать сначала по наличию цены - если цены нет (стоит ноль) товары опускаются в конец каталога, потом по ручной сортировке, которая задана в админке, а потом по названию товара.
Сортировка будет глобальной - в пользовательской части и в админке.
Тем кто юзает остатки товаров на складе можно заменить price на in_stock. Думаю будет работать так же =)
  • 0

#2 Sany

    Пользователь

  • Download User
  • PipPip
  • 13 сообщений
Репутация: 0
Начинающий

Отправлено 02 March 2012 - 11:48 AM

у меня каталоге есть одинаковые товары с вариантами На складе: "есть" и "заказ" ...
как отсортировать чтобы товар "есть" выводился выше?
  • 0

#3 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 02 March 2012 - 04:02 PM

у меня каталоге есть одинаковые товары с вариантами На складе: "есть" и "заказ" ...
как отсортировать чтобы товар "есть" выводился выше?

Склад звучит так: "in_stock", соответственно строчка получится:
$order_by_clause = "order by price > 0 DESC, in_stock DESC, sort_order, name ASC";

  • 0

#4 Paitor

    Пользователь

  • Download User
  • PipPip
  • 21 сообщений
Репутация: 0
Начинающий

Отправлено 12 November 2015 - 11:41 AM

Тем кто юзает остатки товаров на складе можно заменить price на in_stock. Думаю будет работать так же =)

Заработало =)
  • 0

#5 Cruelten

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 48 сообщений
Репутация: 1
Начинающий

Отправлено 23 November 2015 - 11:21 PM

Всем привет.
Если необходимо сделать так, чтобы все товары, которых нет на складе в конец, но при этом все товары просортировались от меньшей цены к большей, делаем так.
$order_by_clause = "order by in_stock > 0 DESC, price, sort_order, name ASC";
Если надо чтобы от большей цены к меньшей, то так
$order_by_clause = "order by in_stock > 0 DESC, price DESC, sort_order, name ASC";

  • 0