Вывод ресурсов через 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;
    

    Как правильно вывести этот сниппет, чтобы он показывал значения для ресурсов которые выводятся, а не для того документа где выводится?


  • Администраторы

    <?php
    $output = '';
    $id = $modx->getOption('id', $scriptProperties, 0);
    if( $id ){
        $res = $modx->getObject('modResource', $id);
        if( $res ){
            $output = '<p>Дата создания: ' . $res->get('createdon') . '</p>'; 
        }
    }
    return $output;
    
    [[mySnippet?res_id=`[[+id]]`]]
    

    Но это не рационально. Очень много запросов в базу будет.



  • @Andchir а как сделать рационально?
    Задача: после 14 дней после createdon деактивировать ссылку на ресурс.

    $date = new DateTime($res->get('createdon'));
    $date->add(new DateInterval('P15D'));
    echo '<p>Окончание Widerruf: ' . $date->format('Y-m-d H:i:s') . '</p>';```


Последние темы

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.