PdoResources {$content} выводит доп. поля текущей страницы.

Доброго дня. На странице имеется такой вызов:
{'pdoResources' | snippet : [
            'parents' => '0',
            'resources'=>$id,
            'limit' => '8',
            'includeTVs' => 'image',
            'prepareTVs'=>'1',
            'tvPrefix' => '',
            'includeContent' => 1,
            'tpl' => '@INLINE
                {$content}
            ',
 ]}
В контенте страницы имеется вывод дополнительных полей, вроде таких:
{$_modx->resource.image}
{$_modx->resource.pagetitle}
{$_modx->resource.menutitle}
и т.д.
pdoResources отдаёт контент страниц, но вместо вывода доп. полей вызываемых ресурсов, отдаёт доп. поля текущей страницы, на которой вызывается сниппет.

Подскажите, решаемо ли это, куда копать, или решится только написанием стороннего сниппета?
Никита
07 февраля 2021, 11:59
modx.pro
435
0

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

Андрей
07 февраля 2021, 13:18
0
Попробуй вынеси из inline в чанк.
    Никита
    07 февраля 2021, 16:25
    0
    С неинлайновым чанком, ровно так же выходит.
      Андрей
      07 февраля 2021, 16:34
      0
      Я сначала не так понял вопрос, ниже Александр написал решение.
    Александр Мельник
    07 февраля 2021, 14:03
    0
    Все же работает логично и правильно.
    Почему вдруг вызов {$_modx->resource.image} должен выдавать ТВ не того ресурса, где он вызывается?
    Скорее вам нужно использовать просто {$image}
    Плюс, мне кажется у вас вот в этой строке не совсем корректно
    'resources'=>$id,
    Что такое $id? Если это вызывается в шаблоне страницы, то должно быть $_modx->resource.id
      Никита
      07 февраля 2021, 16:49
      0
      Если я в контенте ресурса буду вызывать просто {$image}, то на странице самого ресурса же оно не будет выводиться.

      Опишу немного подробнее.
      Я делаю турбо-страницы для яндекса. Соответственно, вызываю контент некоторых страниц (переменная $id). Вызов pdoResources у меня находится на самом ресурсе turbo.xml
      Естественно, в контенте некоторых страниц имеется вывод полей и доп. полей ресурса, без этого же никак ($_modx->resource.поле).
      Вопрос был больше не в правильности вызова, а в том, как сделать так, чтобы парсер сначала парсил вызываемый контент, обработав запросы к полям вызываемых ресурсов, а уже потом отдавал бы мне на ресурс, где вызывается сниппет.
        Александр Мельник
        07 февраля 2021, 17:21
        +1
        Не совсем понимаю, зачем ТВ поля должны содержаться в content? Контент- менеджер заполняет содержимое страницы и вставляет в него вызов fenom {$_modx->resource.image}? Это странно.

        Не буду утверждать, что я точно знаю как это работает, но знаю, что парсер на основе fenom и родной парсер modx по разному проходятся по шаблону. Попробуйте тоже самое переписать на стандартном синтаксисе [[!proResources]] возможно это поможет.
          Евгений Webinmd
          07 февраля 2021, 19:23
          +2
          это так делают любители пихать шаблон и прочий html в поле content. Крутая ж идея
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7