@vnem
Веб разработчик | Front End | Back End

Как отсортировать товары в minishop2 через msearch/mfilter?

Приветствую!

Нужно настроить сортировку товаров в каталоге с помощью дополнения mfilter.
Есть три опции: популярные, новинки и по цене. Сортировку по цене как-то удалось решить (data-sort="ms|price"), а вот с другими - трудности.

Вывести нужно относительно этих опций:
5f735300de0c2422469362.jpeg

Т.е если в товара есть обозначение как "новинка", он переходит вверх, а товары без - вниз

Пробовал вписать в data-sort для популрных следующее: ms|popular, а новинкам - ms|new
В итоге ничего не вышло, они выводили одни и те же товары

Заранее, всех благодарю за помощь! :)

5f7351efc9150929350280.jpeg
  • Вопрос задан
  • 34 просмотра
Решения вопроса 2
DanArst
@DanArst
Э, Ойboy!
В вызов mFilter2 добавить
&sort=`ms|price:desc, ms|popular:desc, ms|new:desc`
Ответ написан
ruslan_aleev
@ruslan_aleev
MODX с cat-Art.ru
Здравствуйте, ну суть та же. Нужно в вызове указать следующее:
&sort=`
ms|new:desc,
ms|price:desc,
ms|popular:desc,
ms_product|publishedon:desc
`


Ну и в чанке, например:

<option class="sort" value="new:desc" [[!#get.sort:is=`new:desc`:then=`selected`]]>Новинки</option>
<option class="sort" value="publishedon:desc" [[!#get.sort:is=`publishedon:desc`:then=`selected`]]>Сначала новые</option>
<option class="sort" value="publishedon:asc" [[!#get.sort:is=`publishedon:asc`:then=`selected`]]>Сначала старые</option>
<option class="sort" value="price:asc" [[!#get.sort:is=`price:asc`:then=`selected`]]>Сначала дешевые</option>
<option class="sort" value="price:desc" [[!#get.sort:is=`price:desc`:then=`selected`]]>Сначала дорогие</option>
<option class="sort" value="popular:desc" [[!#get.sort:is=`popular:desc`:then=`selected`]]>Популярные</option>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы