Как вывести pagetitle родителя текущего ресурса?
Вопрос вроде бы простой, но поставил меня в затруднение
Комментарии: 16
Вот решение — посмотри
вот еще одно решение )))
Эмм… Зачем так сложно? Устанавливаете pdoTools и:
MODX:
fenom:
Причём fastField устанавливать не надо, в pdoTools он вшит
MODX:
[[#[[*parent]].pagetitle]]
fenom:
{$_modx->resource.parent | resource : 'pagetitle'}
Причём fastField устанавливать не надо, в pdoTools он вшит
Точно!
про это забыл:
про это забыл:
[[#[[*parent]].pagetitle]]
спасибо, сработало идеально
Я использовала так:
[2019-04-05 16:35:58] (ERROR @ /home/.../public_html/core/model/modx/modparser.class.php: 541) Could not find snippet with name #[[+parent]].pagetitle.
Может эта ошибка не относится к этому?
[[#[[*parent]].pagetitle]]
Но в логах есть такая ошибка:[2019-04-05 16:35:58] (ERROR @ /home/.../public_html/core/model/modx/modparser.class.php: 541) Could not find snippet with name #[[+parent]].pagetitle.
Может эта ошибка не относится к этому?
Относится. Вы видимо не установили pdoTools или fastField
pdoTools я всегда первым делом устанавливаю. Но fastField я еще не устанавливала.
Если pdoTools установлен, то должно работать. Значит проблема в чем-то другом
Как можно узнать в чем или где проблема?
точно так в коде написано, parent со звездочкой??
[[#[[*parent]].pagetitle]]
Согласно логов стоит parent с плюсомCould not find snippet with name #[[+parent]].pagetitle.
Спасибо! Нашла ошибку.
Я себе уже всю голову сломал с феномом) Вот такой чанк, который обрабатывается pdoResources
В коллекциях лежат ресурсы, мы их выбираем и каждому элементу присваиваем атрибут data-category с алиасом родителя (названием категории)
Вызов pdoResources
Что я делаю не так?
Спасибо
<!-- [[#[[+parent]].alias]] -->
<!-- {$_modx->resource.parent | resource : 'alias'}-->
<li data-category="[[#[[+parent]].alias]]">
<div class="catalog-card">
{$pagetitle}
</div>
</li>
Структура такова В коллекциях лежат ресурсы, мы их выбираем и каждому элементу присваиваем атрибут data-category с алиасом родителя (названием категории)
Вызов pdoResources
{'pdoResources' | snippet: [
'parents' => $_modx->resource.id,
'depth' => '3',
'limit' => '0',
'tpl' => '@FILE chunks/painting/catalog_block.tpl',
'sortby' => 'menuindex',
'sortdir' => 'ASC',
'where' => '{"template":4}'
]}
Проблема в том, что вызов [[#[[+parent]].alias]]
даёт верный результат, а вызов через Fenom выдает алиас страницы, на которой вызывается сниппет: в данном случае catalogЧто я делаю не так?
Спасибо
[[#[[+parent]].alias]]
и {$_modx->resource.parent | resource : 'alias'}
вызванные «внутри» pdoResources, это разные конструкции.Первый код — это parent того ресурса, который сейчас обрабатывает pdoResources в цикле.
А во втором коде — это будет всегда parent ТЕКУЩЕГО ресурса, того, который открыт в браузере у пользователя.
Вам нужно сделать так:
{$parent | resource : 'alias'}
Спасибо большое!
Есть ли где-нибудь мануал по этим тонкостям?
Есть ли где-нибудь мануал по этим тонкостям?
Ага, документация)
docs.modx.pro/komponentyi/pdotools/parser
docs.modx.pro/komponentyi/pdotools/parser
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.