Организация меню с помощью дочерних документов

Здравствуйте,
Структура такая
Документ 1
-Документ 2
--Документ 2.1
--Документ 2.2
--Документ 2.3
В Документе 2 организовано боковое меню через Шаблон, которое выводит дочерние документы текущего документа:
[[pdoMenu?
    &parents=`[[*id]]`
    &level=`0`
]]
Документ 2 и Документ 2.1 и т.д имеют один шаблон.
Когда мы заходим на страницу Документа 2.1, то боковое меню не работает (понятное дело). Как можно организовать боковое меню, чтобы оно работало в Документе 2 и ее дочерних, при условии, что подобных как Документ 2 может быть множество и они работают через один Шаблон.
Сергей
09 января 2017, 12:23
modx.pro
1 230
0

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

Наумов Алексей
09 января 2017, 15:27
+1
docs.modx.pro/components/pdotools/snippets/pdofield

см. параметры &top и &topLevel,
подставляем вызов: &parents=`[[!pdoField? ....]]`
    Сергей
    09 января 2017, 16:23
    0
    [[pdoMenu?
        &parents=`[[pdoField? &id=`[[*id]]` &field=`id` &topLevel=`2`]]`
    ]]
    Таким способом у меня заработало меню в дочерних Документах в Документе 2, но в самом Документе 2 выводятся все документы Ресурса.
      Наумов Алексей
      09 января 2017, 16:27
      0
      Покрути параметр topLevel, может 1 нужно указать?, должно работать :)
        Сергей
        09 января 2017, 16:34
        0
        Не работает в Документ 2 :)
        Вот так тоже работает в дочерних Документа 2:
        &parents=`[[pdoField? &id=`[[*id]]` &field=`id` &top=`1`]]`
      Гриборий
      09 января 2017, 20:59
      0
      Вряд ли получится универсальный вызов состряпать. Нужно делать проверку, если у ресурса есть дочерние документы (или просто смотреть, установлено ли isfolder), то &parents=`[[*id]]`, если нет, то &parents=`[[*parent]]`.
        Гриборий
        09 января 2017, 21:04
        0
        Т.е. можно просто в вызове pdoMenu проверить модификатором isfolder и подставить нужного родителя:
        [[pdoMenu?
            &parents=`[[*isfolder:notempty=`[[*id]]:esle=`[[*parent]]`]]`
            &level=`0`
        ]]
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          6