Ссылка на 2-ое изображение при выводе категории
Здравствуйте. Так как msProducts не позволяет присоединить к выборке 2-ое изображение товара, написал самый настоящий костыль для получения url 2-го изображения по id, потому что не знаю как это сделать через API MODX. Может ли кто-нибудь написать грамотную альтернативу моему решению?
$imagesString = $modx->runSnippet('msGallery', array('product'=>$id,'limit'=>2,'tplOuter'=>'@INLINE [[+rows]]','tplRow'=>'@INLINE [[+url]],'));
$rows = explode(',',$imagesString);
if(count($rows)>2)
{
return trim($rows[1]);
}
else if(count($rows)>1)
{
return $rows[0];
}
else
{
return '/assets/components/minishop2/img/web/ms2_big.png';
} Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Гораздо выгоднее было бы заджоинить желаемую таблицу изображений, а внутри чанка уже дописать условие, что если превью №2 пустое — выводить первое.
В него можно подгрузить первую миниатюру, воспользовавшись персональным параметром &includeThumbs, а можно заджоинить изображение по аналогии с ms2gallery (загружаете модель в loadModels, прописываете нужные джоины (только заместо modResource — msProduct) и цепляете их в Select, указывая желаемые плейсхолдеры).
Нужно только прописать дополнительный leftJoin.