Ссылка на 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';
}
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Гораздо выгоднее было бы заджоинить желаемую таблицу изображений, а внутри чанка уже дописать условие, что если превью №2 пустое — выводить первое.
В него можно подгрузить первую миниатюру, воспользовавшись персональным параметром &includeThumbs, а можно заджоинить изображение по аналогии с ms2gallery (загружаете модель в loadModels, прописываете нужные джоины (только заместо modResource — msProduct) и цепляете их в Select, указывая желаемые плейсхолдеры).
Нужно только прописать дополнительный leftJoin.