totalVar в pdoResources

Кто-нибудь сталкивался со странной работой pdoReources? Абсолютно идентичные коды, но в totalVar в первом запросе нормальный результат, в следующем — ноль.

[[getResources? &parents=`1` &tvFilters=`filter==A` &totalVar=`filterA`]]
[[getResources? &parents=`1` &tvFilters=`filter==B` &totalVar=`filterB`]]
[[+filterA]] / [[+filterB]]

Вывод:
33 / 66

[[pdoResources? &parents=`1` &tvFilters=`filter==A` &totalVar=`filterA`]]
[[pdoResources? &parents=`1` &tvFilters=`filter==B` &totalVar=`filterB`]]
[[+filterA]] / [[+filterB]]

Вывод:
33 / 0

Уже всё перепробовал, и названия фильтров поменять и всё, но нет.
koozoo
08 декабря 2015, 08:07
modx.pro
3 270
0

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

Михаил
09 декабря 2015, 08:11
0
попробуй делать некэшированный вызов pdoResources
[[!pdoResources? &parents=`1` &tvFilters=`filter==A` &totalVar=`filterA`]]
[[!pdoResources? &parents=`1` &tvFilters=`filter==B` &totalVar=`filterB`]]
[[+filterA]] / [[+filterB]]
    Василий Наумкин
    09 декабря 2015, 09:08
    0
    Думаю, тут проблема в использовании tvFilters.

    pdoTools работает с реальными данными в таблице, а значения по умолчанию от ТВ туда не пишутся.
      koozoo
      09 декабря 2015, 20:07
      0
      Ясно, жаль, хорошая планировалась альтернатива getResources.
        Василий Наумкин
        09 декабря 2015, 20:32
        +1
        bezumkin.ru/sections/components/1775/

        Из-за лютых тормозов потом пришлось изменить логику работы этого параметра. Хотя, скорость волнует не всех разработчиков.
          koozoo
          09 декабря 2015, 21:06
          0
          Правильно ли я понимаю, что с pdoResources это возможно будет только, если все значения будут введёнными?

          То значение фильтра делается выпадающим списком. Получается, если добавить в выпадающий список, какую-нибудь заглушку, чтобы она вставала «по умолчанию», то всё получится.

          Как бы то ни было, я заметил, что ни теги, ни даты pdoResources также не выводит, в отличие от getResources. Может, есть какие-нибудь костыли?
            Василий Наумкин
            09 декабря 2015, 21:10
            0
            Да всё он выводит, нужно просто разобраться, что и в каком виде хранится в БД, а не тупо копировать чанки от getResources.

            В параметре &where можно проверять ТВ на null.
              koozoo
              09 декабря 2015, 21:18
              0
              Я же говорю, ТВ заносится через селектор A||B||C, где B — значение по умолчанию. Получается, ресурсы, в которых выбрано А (по схеме из первого сообщения), считаются, а ресурсы, которые созданы и в которых не изменён ТВ и по умолчанию выставился В, в базу не занесён и не выводится. ОК, этот момент, допустим, прояснён, я проверю его.

              Но другие поля ТВ, например, дата или теги, также не выводятся, к сожалению, в результате чего, например, после перехода на pdo перестал работать скрипт фильтрации, который брал данные, выводящиеся в теги data-* из ТВ. Хорошо, заметил :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
8