Вот такую чухню я сотворил:
сниппет get_id:
$params = ['parents' => '11','tpl' => '@CODE:[ [+id] ],']; // параметры для получения id товаров
$id_list = $modx->runSnippet('pdoResources', $params); // запускаем сниппет и вносим id в переменную
$id_list = str_replace("\n", '', $id_list); // удаляем пробелы
$id_list = explode(",", $id_list); // преобразуем в массив
asort($id_list); // сортировка по значению, по возрастанию
foreach ($id_list as $id_item) {
$params1 = ['product'=>$id_item,'tpl'=>'my.tpl.msGallery'];
$result = $modx->runSnippet('msGallery', $params1);
echo $result;
}
Чанк my.tpl.msGallery:
{foreach $files as $file}
<p>{$file['product_id']} - {$file['url']}</p>
{/foreach}
Вывод:
[msGallery] The resource with id = 9 is not instance of msProduct.
18 - /assets/images/products/18/images-(2).jpg
18 - /assets/images/products/18/tes-tpkwmnvcpg-r-dflhzeyg.jpg
19 - /assets/images/products/19/gun.jpg
20 - /assets/images/products/20/den-17-yarost-keksa.jpg
Почему подхватывает id=9 (это текущий id страницы) непонятно..