Вывод ресурсов через pdoTools + сниппет
        Имеется набор ресурсов, который выводится через pdoTools
Как правильно вывести этот сниппет, чтобы он показывал значения для ресурсов которые выводятся, а не для того документа где выводится?
    
    
                                                                                
            [[!pdoPage?
    &parents=`2`
    &depth=`2`
    &hideContainers=`1`
    &limit=`10`
    &tpl=`news`
    &includeTVs=`img`
    &sortby=`pub_date`
]]и имеется вот такой сниппет, назовём test<?php
$id = $modx->resource->get('id');
$res = $modx->getObject('modResource',$id);
echo '<p>Дата создания: ' . $res->get('createdon') . '</p>'; 
return;Если я вставляю [[!test]] в шаблоне news, то выводится значения, но они все одинаковые и принадлежат тому ресурсу, где выводится pdoTools.Как правильно вывести этот сниппет, чтобы он показывал значения для ресурсов которые выводятся, а не для того документа где выводится?
Комментарии: 4
                Потому что сниппет нужно вызывать как
И тогда вот эта строка не нужна совсем
Только дальнейший код убьёт всю производительность, достигнутую pdoResources.
Это при том, что данные уже выбранных ресурсов и так доступны у тебя в чане, в которым ты вызываешь свой сниппет. В моём примере передаётся только id, но так можно передать и другие свойства.
Да и лишний вызов сниппета test 10 раз из чанка — тоже дополнительные тормоза.
В общем, лучше напиши, чего ты хочешь добиться, может чего поумнее подскажут.
                    [[!test?id=`[[+id]]`]]то есть, передавать данные уже выбранного ресурса внутрь сниппета.И тогда вот эта строка не нужна совсем
$id = $modx->resource->get('id');Только дальнейший код убьёт всю производительность, достигнутую pdoResources.
$res = $modx->getObject('modResource',$id);Ты выбрал 10 нужных ресурсов за один запрос, а потом еще за 10 дополнительных запросов выбираешь каждый из них отдельно.Это при том, что данные уже выбранных ресурсов и так доступны у тебя в чане, в которым ты вызываешь свой сниппет. В моём примере передаётся только id, но так можно передать и другие свойства.
Да и лишний вызов сниппета test 10 раз из чанка — тоже дополнительные тормоза.
В общем, лучше напиши, чего ты хочешь добиться, может чего поумнее подскажут.
                Спасибо за ответ,
хочу чтобы исчезала ссылка на ресурс по истечению срока createdon + 15 дней.
                    хочу чтобы исчезала ссылка на ресурс по истечению срока createdon + 15 дней.
$date = new DateTime($res->get('createdon'));
$date->add(new DateInterval('P15D'));
echo '<p>Окончание Widerruf: ' . $date->format('Y-m-d H:i:s') . '</p>';            
                Прочитай про &prepareSnippet — bezumkin.ru/sections/components/1841/            
                    
                большое спасибо            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.