Удаление дубликатов/старых изображений товара

Добрый день!
На сайте настроена синхронизация с 1С УТ, если в 1С обновлены изображения товара, после синхронизации оба изображения (старое и новое) остаются в карточке.
Также в 1С есть картинка-заглушка, если нет фото товара. И после синхронизации на хостинге куча картинок-заглушек.

Два вопроса:
  1. Можно ли как-то удалять старое(все изображения) при синхронизации товара?
  2. Как сравнить хэш картинки-заглушки и не синхронизировать её, либо удалять. Чтобы подставлялась заглушка по умолчанию, как, к примеру, изначально подставляется логотип miniShop2.
Подскажите, пожалуйста, куда копать?

p.s. Всех с наступающим 9 мая!
Klike
08 мая 2015, 07:29
modx.pro
1
1 590
0

Комментарии: 2

Володя
08 мая 2015, 11:12
0
Ну если у тебя актуальна только одна картинка для товара, то можно сделать так:
// выставляем всем предыдущим картинкам 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
Не проверял, код используй под свою ответственность...
    Klike
    08 мая 2015, 11:47
    0
    Спасибо, Володя! Попробую
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2