Как задать массово всем товарам основной раздел автоматизированно?
Добрый день всем, столкнулся с проблемой выбора основного раздела для товаров у которых выбрано неск. разделов (проблемы возникают с урлами), в ручную выбирать 3к товаров это не реально сделать, везде обшарил не могу найти решения, может быть кто сталкивался с такой ситуацией, хелпаните плиз.
P/S
Была мысль типо проверять если товар в каком разделе тот и задавать как основной, а если товар относится к нескольким разделам то как быть в таком случае.
Помогите плиз(это крик отчаяния)
через API. Достаточно продвинутым будет такой вариант:
1) достаёте разделы, строите map ID => DEPTH_LEVEL
2) для каждого товара достаёте привязанные разделы. Если раздел один, то основной раздел назначать вроде не надо ( хотя без разницы)
3) эти привязанные разделы сортируете по убыванию глубины вложенности, используя map из п.1 .
4) берёте первый раздел из отсортированного списка, назначаете его основным
могут быть ещё исключения типа: назначать основным раздел "Распродажа" или его подраздел, только если нет других вариантов.
Корбин, если будете использовать CIBlockElement::Update() ( я всё ленюсь посмотреть, завезли в D7 update/insert для элементов инфоблока, или нет ) , то ставьте bUpdateSearch в false. Это прилично ускорит работу.