Как вывести url картинок товаров определенной категории?
[[!pdoResources?
&class=`msProductFile`
&where=`{«parent»:0}`
&sortby=`product_id`
&sortdir=`asc`
&tpl=`@CODE: [[+product_id]] — [[+url]]
`
]]
Такой код выводит id и url картинок всех товаров, но мне нужно определенной категории. Пробовал прописать &parents но это не сработало
&class=`msProductFile`
&where=`{«parent»:0}`
&sortby=`product_id`
&sortdir=`asc`
&tpl=`@CODE: [[+product_id]] — [[+url]]
`
]]
Такой код выводит id и url картинок всех товаров, но мне нужно определенной категории. Пробовал прописать &parents но это не сработало
Комментарии: 3
Вот такую чухню я сотворил:
сниппет get_id:
сниппет 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 страницы) непонятно…
Если не все конечно картинки нужны:
[[!msProducts?
&parents=`11`
&tpl=`@CODE: [[+id]] — [[+thumb]]`
&showLog=`1`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.