Работа с сортировками в mFilter2

7 999 999

Здравствуйте.
Первая задача. Товары в категории выводятся через mFilter2, по умолчанию сортируются по цене. Но у товаров есть msOption с количеством товара — count_products. Необходимо учитывать эту опцию в сортировке, если равна 0, то товары должны оказываться в самом конце категории, а не быть в перемешку со всеми товарами. Пробовал это реализовать так
'sort'=>'
    msoption|count_products:asc
    ms|price:asc
',
Но получаю ошибку
[2021-08-04 14:20:06] (ERROR @ /home/sunvoyage/htdocs/core/components/pdotools/model/pdotools/pdofetch.class.php: 172) [pdoTools] Error 42S22: Unknown column 'count_products' in 'order clause'
Так же пробовал через leftJoin опцию, но также получаю ошибку.
Вторая задача. В категории есть несколько видов сортировки – сначала дорогие, сначала дешевые, сначала новые, сначала старые. По умолчанию – сначала дешевые. Нужно что бы активная сортировка получала класс sorting__value_active. Сейчас она получает этот класс если я выберу конкретную сортировку, есть js который этот класс проставляет просто по клику. То есть если я просто зайду в категорию, то по умолчанию у меня сортировка — сначала дешевые, но на UI не выбрана ни одна из сортировок. То же самое, если я выберу какую-нибудь из сортировок, она применится, на UI она будет активна, но если я обновлю страницу, то на UI не будет выбрана ни одна из сортировок. Вот код разметки, который сейчас отвечает за сортировку:

<div class="sorting">
  <div
    class="sorting__inner"
    id="mse2_sort"
  >
    <div class="sorting__item">
      <div class="sorting__title">По цене</div>
      <a
        href=""
        class="link sorting__value"
        data-sort="ms|price"
        data-default="desc"
        value="desc"
      >Сначала дорогие</a>
      <a
        href=""
        class="link sorting__value"
        data-sort="ms|price"
        data-default="asc"
        value="asc"
      >Сначала дешевые</a>
    </div>
    <div class="sorting__item">
      <div class="sorting__title">По дате</div>
      <a
        class="link sorting__value"
        href="#"
        data-sort="resource|publishedon"
        data-default="desc"
        value="desc"
      >Сначала
        новые</a>
      <a
        class="link sorting__value"
        href="#"
        data-sort="resource|publishedon"
        data-default="asc"
        value="asc"
      >Сначала
        старые</a>
    </div>
  </div>
</div>
Dolce
11 августа 2021, 15:12
modx.pro
238
0

Комментарии в этом разделе отключены, так что вы должны указать свои контакты прямо в объявлении, или активировать отправку сообщений из профиля.

Обратите внимание, что modx.pro не несёт никакой ответственности за выполнение работы или оплату заказа. Это просто доска объявлений, дальше вы общаетесь за пределами нашей площадки.