Сложный перенос товаров в другие категории Opencart

Как известно переносить товары в Opencart можно заходя либо в каждый товар по отдельности, либо массово с помощью различных модулей например Batch Editor, но иногда возникают и более сложные ситуации. На днях столкнулся с подобной. Предыстория данной проблемы была следующая — был произведен парсинг сайта с последующей заливкой через CSV Price Pro, причем при заливке создались категории типа «обои для кухни/обои для холла/обои для кабинета» и необходимо было отловить все такие товары и растащить одновременно в три категории «обои для кухни», «обои для холла», «обои для кабинета». Лучший вариант для решения подобной задачи — воспользоваться прямым доступом к базе данных MySQL.

Предположим, что id категории «обои для кухни/обои для холла/обои для кабинета» — 6699

id категории «обои для кухни» — 3937

id категории «обои для холла» — 4599

id категории «обои для кабинета» — 3914

(ID категорий можно определить либо из базы данных из таблицы oc_category_discription либо более простой вариант такой

Заходим в PhpMyAdmin и выполняем несколько MySQL скриптов такого содержания.

находим все товары из необходимой категории и копируем в необходимые категории

INSERT IGNORE INTO oc_product_to_category( product_id, category_id ) SELECT product_id, 3937
FROM oc_product_to_category WHERE `category_id` = ‘6699’;

INSERT IGNORE INTO oc_product_to_category( product_id, category_id ) SELECT product_id, 4599
FROM oc_product_to_category WHERE `category_id` = ‘6699’;

INSERT IGNORE INTO oc_product_to_category( product_id, category_id ) SELECT product_id, 3914
FROM oc_product_to_category WHERE `category_id` = ‘6699’;

удаляем данные из базы данных о категории, из которой копировали товар

DELETE FROM `имя-базы`.`oc_category` WHERE `oc_category`.`category_id` = ‘6699’;

DELETE FROM `имя-базы`.`oc_category_description` WHERE `oc_category_description`.`category_id` = 6699;

естественно если при создании базы данных бы использовали префикс «ос_», иначе используете со своим префиксом.

Таким образом можно упростить процедуру присваивания товару других категорий.

 

Пролистать наверх