фильтрация pdopage

Добрый день. Подскажите пожалуйста, как можно отфильтровать значения по IDx в зависимости от полей? Т.е. у товара есть поля: новый, популярный, особенный. Нужно вывести все товары, если у них нет этих трёх полей, то фильтровать по IDx, а если есть то от самого нового к самому старому. Вывожу товары так:
[[!pdoPage?
                                        &element=`msProducts`
                                        &parents=`[[*id]]`
                                        &limit=`8`
                                        &sortdir=`DESC`
                                        &sortby=`{"menuindex":"desc"}`
                                        &tpl=`product_teaser`
                ]]
Но тут получается, что он просто все товары фильтрует по IDx, вне зависимости от полей.
Артём
07 февраля 2019, 07:48
modx.pro
788
0

Комментарии: 6

Наумов Алексей
07 февраля 2019, 09:28
0
Ни-че-го не понятно!

pdoPage — постраничный вывод
msProducts — выводим товары
parents — из указанной категории
limit — по 8 штук
sortby — сортируя по менюиндекс (sortdir скорее всего не учитывается теперь)

что надо то? Что написано в коде — то и делается.
    Артём
    07 февраля 2019, 09:38
    0
    У товаров есть поля: `Data.favorite`, `Data.new`, `Data.popular`
    Надо при выводе сортировать товары, если есть эти поля то в порядке от самого нового, к самому старому, если нет то по IDx. На странице могут быть как товары с этими полями, так и без
      Наумов Алексей
      07 февраля 2019, 09:45
      1
      +1
      &sortby=`{«Data.favorite»: «desc», «Data.new»: «desc», «Data.popular»: «desc», «menuindex»:«desc»}`
        Артём
        07 февраля 2019, 09:55
        0
        Спасибо! Скажите, а можно как то рандомно ещё сделать? Т.е. сортировка полей как сейчас, но выводит эти группы рандомно(при первой загрузке новые, потом страницу обновили уже популярные сверху и т.п.)?
          Наумов Алексей
          07 февраля 2019, 10:10
          0
          Наверное только 2 вызова msProducts…
          Думаю, что одним здесь не выкрутиться.
            Артём
            07 февраля 2019, 10:15
            0
            Спасибо Вам за помощь!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6