Баг при программной заливке изображений в msGallery
Добрый вечер.
При выполнении следующего кода валятся ошибки «Array ( [0] => Такое изображение уже есть в галерее товара. )»
При выполнении следующего кода валятся ошибки «Array ( [0] => Такое изображение уже есть в галерее товара. )»
$products = $modx->getCollection('msProduct');
foreach ($products as $product) {
$path = MODX_BASE_PATH.'products/'.$product->get('id').'.jpg';
if(file_exists($path)) {
$data = [
'id' => $product->get('id'),
'file' => $path,
];
$response = $modx->runProcessor('gallery/upload', $data, array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/'));
if ($response->isError()) {
print_r($response->getAllErrors());
}
}
}Изображения товаров лежат в корне сайта в папке products и имеют вид кодТовара.jpg В галерею загружается только изображение для первого в списке товара, создаются превьюшки, всё как положено. Остальные игнорируются, как будто это изображение где-то в кеше висит.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Для её работы берутся первые несколько байт, и если грузятся однотипные картинки на белом фоне, то у всех у них первые байты и будут этим белым фоном — отсюда сообщение о дубликате.
Мораль — в 2 часа ночи нужно спать.