Как удалить все доп. Изображения?


#1

Всем привет! Суть проблемы в следующем.
Заказчик закинул картинки через 1С, они ему не нравятся. Хочу снести нафиг все доп картинки в том числе и с сервака и загрузить их по новой.
Не нашел в интерфейсе где это делается. В базу, чтоли лезть?


#2

Я обычно это делаю через импорт товаров(не забывая нажимать галочки “обновлять только существующие товары”(это важно, иначе карт часто придумывает новые товары даже тогда когда импортируемый файл минуту назад был из этого же магазина экспортирован) и “удалить дополнительные изображения”. Предварительно обязательно надо протестировать на каком-нибудь одном товаре. Нормального способа для массового удаления фоток нет.


#3

Через БД можно удалить все доп. картинки из товаров (DELETE FROM cscart_images_links WHERE type = 'A'), но это не удалит их с сервера.

Лучше воспользоваться способом выше, через импорт, других очевидных вариантов нет.


#4

В админский скрипт (например, admin.php) между

require(dirname(__FILE__) . '/init.php');

и

fn_dispatch();

вставьте

$pairs = db_get_fields("SELECT pair_id FROM ?:images_links WHERE type = 'A' AND object_type = 'product'");
foreach ($pairs as $pair_id) {
    fn_delete_image_pair($pair_id, 'product');
}

затем перейдите на любую страницу в админке

(!) не тестировано

PS не забудьте потом удалить код