Есть магазин на CS-Cart 3.0.6 и CC, из которого в магазин экспортируются фотографии и ТХ товаров.
В один п̶р̶е̶к̶р̶а̶с̶н̶ы̶й̶ день наши сеошники поставили задачу поделить категории «Мобильные телефоны» и «Ноутбуки» на подкатегории (смартфоны, нетбуки, ультрабуки и т.д.), подробнее здесь.
В итоге мы сделали скрипт, который запускается сразу после экспорта PLI.
Этот скрипт смотрит на ID, который у CS-Cart сопоставлен с определенённым типом товара, и помещает такой товар в определённую категорию.

Например, вот так выглядит кусок скрипта, который из категории «Мобильные телефоны» перемещает товар в «Смартфоны»:
Код: Выделить всё
$products_parsing_categories['20'] = array( // забиваем категорию Мобильные телефоны (id = 20), скрипт будет смотреть продукты этой категории
'9831' => array( // указываем id характеристики "Тип"
'1184919' => 384, // продукты с типом "Смартфон/Коммуникатор" (id = 1184919) будут перемещенны в категорию "Смартфоны" (id = 384)
'1285069' => 384, // продукты с типом "Смартфон" (id = 1285069) будут перемещенны в категорию "Смартфоны" (id = 384)
'1200669' => 20, // Продукты с типом "Телефон" (id = 1200669) останутся в своей категории (id = 20)
)
);Проблема заключается в том, что все эти ID указаны в скрипте сортировки товаров, и когда ID меняются, скрипт перестаёт корректно отрабатывать.
А теперь 2 главных вопроса: из-за чего меняются эти ID, и можно ли как-то это пресечь?
