pdoMenu. Вызов id родителя родителя

Нужно в pdoMenu вызвать id родителя родителя (id дедушки).
В коде
[[pdoMenu?
            &parents=`[[*parent:parent=`id`]]`
            &level=`2`
            &tplOuter=`@INLINE [[+wrapper]]`
            &tplParentRow=`tpl1`
            &tpl=`tpl2`
            ]]
вызываю родителя родителя вот так:
&parents=`[[*parent:parent=`id`]]`
но где-то ошибка, не работает. Если написать id — работает. Проблема в синтаксисе, видимо?
websfera
15 мая 2017, 12:22
modx.pro
5 245
0

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

Олег
15 мая 2017, 16:00
1
0
Естественно в синтаксисе.
[[*parent:parent=`id`]] — то, что после двоеточия, является модификатором, которого нет.
Есть несколько вариантов получить id дедушки.
1) webstool.ru/grandparent-modx.html
2) Использовать fenom {$_modx->resource.parent | resource: 'parent'}
3) fastField [[#[[*parent]].parent]]

    websfera
    15 мая 2017, 17:52
    0
    Благодарю, получилось.
    какой из способов лучше в смысле нагрузки на сервер и БД? Или нет разницы?
    Олег
    15 мая 2017, 21:48
    0
    Лучше использовать какой-то один парсер, я обычно использую fenom. В плане нагрузки — это обычно заметно на больших сайтах, если сайт небольшой — можно зверствовать в полную силу: разные парсеры, множество TV и подобное. Но я этим не злоупотребляю, разве что на визитках и небольших каталогах могу использовать несколько TV.
    В случае высоконагруженных сайтов лучше делать свои компоненты и практически не использовать TV, разве что пару очень популярных — навроде keywords и image.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3