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 отдаёт контент страниц, но вместо вывода доп. полей вызываемых ресурсов, отдаёт доп. поля текущей страницы, на которой вызывается сниппет.Подскажите, решаемо ли это, куда копать, или решится только написанием стороннего сниппета?
Комментарии: 7
Попробуй вынеси из inline в чанк.
С неинлайновым чанком, ровно так же выходит.
Я сначала не так понял вопрос, ниже Александр написал решение.
Все же работает логично и правильно.
Почему вдруг вызов {$_modx->resource.image} должен выдавать ТВ не того ресурса, где он вызывается?
Скорее вам нужно использовать просто {$image}
Плюс, мне кажется у вас вот в этой строке не совсем корректно
'resources'=>$id,
Что такое $id? Если это вызывается в шаблоне страницы, то должно быть $_modx->resource.id
Почему вдруг вызов {$_modx->resource.image} должен выдавать ТВ не того ресурса, где он вызывается?
Скорее вам нужно использовать просто {$image}
Плюс, мне кажется у вас вот в этой строке не совсем корректно
'resources'=>$id,
Что такое $id? Если это вызывается в шаблоне страницы, то должно быть $_modx->resource.id
Если я в контенте ресурса буду вызывать просто {$image}, то на странице самого ресурса же оно не будет выводиться.
Опишу немного подробнее.
Я делаю турбо-страницы для яндекса. Соответственно, вызываю контент некоторых страниц (переменная $id). Вызов pdoResources у меня находится на самом ресурсе turbo.xml
Естественно, в контенте некоторых страниц имеется вывод полей и доп. полей ресурса, без этого же никак ($_modx->resource.поле).
Вопрос был больше не в правильности вызова, а в том, как сделать так, чтобы парсер сначала парсил вызываемый контент, обработав запросы к полям вызываемых ресурсов, а уже потом отдавал бы мне на ресурс, где вызывается сниппет.
Опишу немного подробнее.
Я делаю турбо-страницы для яндекса. Соответственно, вызываю контент некоторых страниц (переменная $id). Вызов pdoResources у меня находится на самом ресурсе turbo.xml
Естественно, в контенте некоторых страниц имеется вывод полей и доп. полей ресурса, без этого же никак ($_modx->resource.поле).
Вопрос был больше не в правильности вызова, а в том, как сделать так, чтобы парсер сначала парсил вызываемый контент, обработав запросы к полям вызываемых ресурсов, а уже потом отдавал бы мне на ресурс, где вызывается сниппет.
Не совсем понимаю, зачем ТВ поля должны содержаться в content? Контент- менеджер заполняет содержимое страницы и вставляет в него вызов fenom {$_modx->resource.image}? Это странно.
Не буду утверждать, что я точно знаю как это работает, но знаю, что парсер на основе fenom и родной парсер modx по разному проходятся по шаблону. Попробуйте тоже самое переписать на стандартном синтаксисе [[!proResources]] возможно это поможет.
Не буду утверждать, что я точно знаю как это работает, но знаю, что парсер на основе fenom и родной парсер modx по разному проходятся по шаблону. Попробуйте тоже самое переписать на стандартном синтаксисе [[!proResources]] возможно это поможет.
это так делают любители пихать шаблон и прочий html в поле content. Крутая ж идея
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.