Автор Тема: Сортировка с нулевой ценой  (Прочитано 180 раз)

23 Апреля 2015, 18:15:20
  • Пользователь
  • **
  • Сообщений: 55
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!
Подскажите, пожалуйста, как мне сделать, чтобы при сортировке товара по цене не учитывалась цена = 0? А то товар с ценой 0 при сортировке от наименьшей цены первым выскакивает. По наличию и по цене.
23 Апреля 2015, 19:52:45
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 980
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Самый простой вариант вынести весь бесплатный товар
в рубрику бесплатно, тогда хоть обвыбирайся.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
23 Апреля 2015, 20:39:42
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 33028
  • Репутация: +26761/-0
    • Просмотр профиля
Как тогда выводить товары с 0 ценой, не показывать их, в конце списка при любом направлении?
23 Апреля 2015, 20:55:05
Ответ #3
  • Пользователь
  • **
  • Сообщений: 55
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В конце списка всегда. У меня сегодня есть цена, завтра нет, включать товар и отключать постоянно не хочу. Нужно, чтобы нулевки все-равно показывались, но после всех.
23 Апреля 2015, 21:12:24
Ответ #4
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86326
  • Репутация: +25417/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Порядок сортировки можно менять в классе /classes/Category.php
Цитировать
public function getProducts
Нужно поменять формирование списка.
1. Исключить товары с ценой равной 0 из общего списка.
2. Выбрать товары с ценой больше 0 в массив А.
3. Отсортировать массив А согласно запроса ASC  DESC.
4. Выбрать товары с ценой  0 в массив B.
5. Добавить массив В в конец массива А.
23 Апреля 2015, 21:23:28
Ответ #5
  • Пользователь
  • **
  • Сообщений: 55
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля