Баг в "pdoResources"

Доброго времени суток!

Хотел перейти на pdoResources и наткнулся на крайне неприятный баг.
Версия pdoTools = 1.6.0 pl1

Задача:
Вывести документы у которых родитель — корень.
При этом их дочерние документы выводить нет необходимости.
Т.е. требуется создать типовое главное меню без вложений.

Вызов:
[[pdoResources? &tpl=`tpl_top_menu` &parents=`0` &depth=`0`]]
Результат:
Выводятся вообще все документы. Т.е. совершенно наглым образом игнорится параметр depth.
Таким образом я не могу создать простейшее меню для простейшего сайта :(
getResources работает правильно… точнее, как ожидается, и выводит только топовые документы.
Неизвестный Сергей
21 сентября 2013, 17:15
modx.pro
3 452
0

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

Виталий Киреев
22 сентября 2013, 06:00
0
Правильно &depth=`1` — глубина на 1 от корня &showHidden=`0` — показывать только отображаемые в меню.
    Неизвестный Сергей
    22 сентября 2013, 12:16
    0
    То то и оно, что getResources воспринимает параметр &depth=`0`.
    При &depth=`1` работают одинакого и выводят «прямых потомков», что в купе с &parents=`0` означает «прямых потомков любых родителей», т.е. все документы дерева.
    Василий Наумкин
    22 сентября 2013, 07:43
    0
    &where=`{"parent":0}`
      Неизвестный Сергей
      22 сентября 2013, 12:10
      0
      Да, так работает.
      Эффект аналогичен указанию в getResources
      &depth=`0`


      Было бы логически правильно, добавить новый параметр:
      &parents=`-1` //выводить документы любых родителей
      &parents=`0` //выводить документы корня
        Василий Наумкин
        22 сентября 2013, 13:03
        0
        И похерить совместимость с огромных кол-вом уже установленных и работающих сниппетов.

        После такого обновления, на рабочих сайтах вместо игнорирования родителя в выборке начнут показываться только документы из корня.

        Будет весело — факт.
          Неизвестный Сергей
          22 сентября 2013, 16:28
          0
          Спору нет. Проще заплатку вписать с обработкой &depth=`0`, чтобы сохранить совместимость, как
          с getRes так и со старыми pdoRes.
          Либо использовать
          [[pdoResources? &tpl=`tpl_top_menu` &parents=`0` &where=`{"parent":0}` &depth=`1`]]
          P.S. У нас в Тольятти по такому принципу машины делают: «главное чтобы старые детали подошли»,
          вот только результатом недоволен никто.
          P.P.S. А ещё вызывает недоумение, что по умолчанию depth=10. Видимо, самое распространённое меню
          имеет 10 уровней вложенности :) Ну это философии ради…
            Василий Наумкин
            22 сентября 2013, 16:33
            0
            Ни разу не видел сайта с глубиной вложения документов больше 10.

            Ну и этот сниппет предназначен для вывода каталогов, а не построения меню — для него будет отдельный сниппет, позже.

            P.S. Я никому не навязываю свои решения, ты всегда можешь вернуться к милому тормозному getResources.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7