<?php
$q = $modx->newQuery("modResource");
$q->where(array(
    "published"=>1,
    "template"=>2,
    "parent"=>$parents,
));
$q->sortby('publishedon','DESC');

$total = $modx->getCount("modResource", $q);
$totalVar = $modx->getOption('totalVar', $scriptProperties, 'total');
$modx->setPlaceholder($totalVar,$total);
$limit = $modx->getOption('limit', $scriptProperties, 10);
$offset = $modx->getOption('offset', $scriptProperties, 0);
$q->limit($limit, $offset);


$resources = $modx->getCollection('modResource',$q);
foreach ($resources as $resourceId => $resource) {
    $templateVars = $resource->getMany('TemplateVars');
    $tvs = array();
    foreach ($templateVars as $tvId => $templateVar) {
        $value = $templateVar->getValue($resourceId);
        $tvs[$tvPrefix . $templateVar->get('name')] = $value;
    }
    $properties = array_merge(
        $scriptProperties
        ,array()
        ,$resource->toArray()
        ,$tvs
    );
    $output[] = $modx->getChunk($tpl, $properties);
}
return implode("\n", $output);