Удаление дубликатов/старых изображений товара
Добрый день!
На сайте настроена синхронизация с 1С УТ, если в 1С обновлены изображения товара, после синхронизации оба изображения (старое и новое) остаются в карточке.
Также в 1С есть картинка-заглушка, если нет фото товара. И после синхронизации на хостинге куча картинок-заглушек.
Два вопроса:
p.s. Всех с наступающим 9 мая!
На сайте настроена синхронизация с 1С УТ, если в 1С обновлены изображения товара, после синхронизации оба изображения (старое и новое) остаются в карточке.
Также в 1С есть картинка-заглушка, если нет фото товара. И после синхронизации на хостинге куча картинок-заглушек.
Два вопроса:
- Можно ли как-то удалять старое(все изображения) при синхронизации товара?
- Как сравнить хэш картинки-заглушки и не синхронизировать её, либо удалять. Чтобы подставлялась заглушка по умолчанию, как, к примеру, изначально подставляется логотип miniShop2.
p.s. Всех с наступающим 9 мая!
Комментарии: 2
Ну если у тебя актуальна только одна картинка для товара, то можно сделать так:
Не проверял, код используй под свою ответственность...
// выставляем всем предыдущим картинкам rank = rank + 1
$modx->exec("UPDATE {$modx->getTableName('msProductFile')}
SET rank = rank + 1 WHERE product_id = ".$product_id."
");
// новой картинке ставим rank = 0
$product_file = $this->modx->newObject('msProductFile', array(
'product_id' => $this->product->id,
'parent' => 0,
'name' => $data['name'],
'file' => $filename,
'path' => $this->product->id.'/',
'source' => $this->mediaSource->get('id'),
'type' => $type,
'rank' => 0
'createdon' => date('Y-m-d H:i:s'),
'createdby' => $this->modx->user->id,
'active' => 1,
'hash' => $hash,
'properties' => $data['properties'],
));
Это все в процессоре miniShop2/core/components/minishop2/processors/mgr/gallery/upload.class.phpНе проверял, код используй под свою ответственность...
Спасибо, Володя! Попробую
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.