Как удалить все изображения товаров в субкатегории

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Aleks
Aleks
Репутация: 56
Сообщения: 387
Зарегистрирован: 24.05.2021
С нами: 2 года 11 месяцев

Сообщение #1 Aleks » 25.10.2023, 09:05

Здравствуйте, уважаемые гуру Okay-программирования.
Есть ли возможность массового удаления картинок всего товара в субкатегории?
Пробовал по аналогии обновления цены: SKU+Images, но в данном случае происходит лишь добавление новых картинок.
Прежние не удаляются.
Простой вариант: удалить весь товар в субкатегории и импорт по новому нежелателен: лишняя работа.
Еще простой вариант: закачать новые картинки в originals и очистить resized тоже не подходит,
ибо новые картинки имеют измененные названия по сравнению со старыми.
Версия CMS: 4.2.1

korshunov
korshunov
Репутация: 148
Сообщения: 1862
Зарегистрирован: 03.12.2015
С нами: 8 лет 4 месяца
Skype

Сообщение #2 korshunov » 25.10.2023, 11:47

Простой готовый способ вряд ли найдется.
Можно написать свою PHP-обработку...

Aleks
Aleks
Репутация: 56
Сообщения: 387
Зарегистрирован: 24.05.2021
С нами: 2 года 11 месяцев

Сообщение #3 Aleks » 19.12.2023, 13:52

Есть простой способ удалить все картинки, но во всех субкатегориях.
Идем в базу данных, чечбокс таблице ok_images и Очистить ее.
Картинки в originals не удаляются. На сайте картинок у товаров нет. Стоит заглушка no-image.
А дальше импорт SKU+Images. Здесь доступны варианты: картинки с новым именем, замена старых на новые с прежним именем.
Возможен ли sql-запрос на удаление картинок одной субкатегории?

korshunov
korshunov
Репутация: 148
Сообщения: 1862
Зарегистрирован: 03.12.2015
С нами: 8 лет 4 месяца
Skype

Сообщение #4 korshunov » 19.12.2023, 14:17

Возможен примерно так:
delete from ok_images where product_id in (select product_id from ok_products_categories where category_id in (17));

Aleks
Aleks
Репутация: 56
Сообщения: 387
Зарегистрирован: 24.05.2021
С нами: 2 года 11 месяцев

Сообщение #5 Aleks » 19.12.2023, 19:15

Спасибо г.korshunov. Ваш sql-запрос работает отменно.
Испробовал на локальном сервере и в сети.
Для практического использования следует учитывать следующее:
Удаление картинок по родительской категории не работает.
На локальном сервере в первой субкатегории удалились картинки, вместо них соответствующий текст (имя картинки).
На следующей субкатегории картинки сохранены.
В сети ничего не изменилось.
Т.О., удаление картинок производить только по субкатегориям.
Вместо картинок устанавливается заглушка no_image

korshunov
korshunov
Репутация: 148
Сообщения: 1862
Зарегистрирован: 03.12.2015
С нами: 8 лет 4 месяца
Skype

Сообщение #6 korshunov » 20.12.2023, 05:36

Aleks писал(а):Удаление картинок по родительской категории не работает.

Во-первых, Вы про это не спрашивали. Во вторых, данный образец совсем несложно подправить под эту ситуацию, если чуть задуматься...

Aleks
Aleks
Репутация: 56
Сообщения: 387
Зарегистрирован: 24.05.2021
С нами: 2 года 11 месяцев

Сообщение #7 Aleks » 20.12.2023, 06:57

Вы правы, господин korshunov: у меня был конкретный вопрос по удалению картинок одной субкатегории по sql-запросу.
И по нему получен конкретный работающий ответ. Спасибо.
Что касается родительской категории.
Ну как здесь удержаться и не проверить по родительской категории?
Спасибо за подсказку, теперь на досуге попробуем решить и по родительской категории.
Хотя нужды в этом нет. Но, как говорится, пусть будет.


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 6 гостей