Иногда необходимо товары в битриксе, выгруженные из 1С, привязывать к нескольким категориям, но есть проблема в том, что в 1С нельзя привязывать товар к нескольким категориям, а если привязывать в битриксе товар к нескольким категориям то при отгрузке эти изменения сотрутся.
Для того что бы это исправить нужно вставить такой код в файл init.php
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate","SaveMySection");
function SaveMySection(&$arFields)
{
if (@$_REQUEST['mode']=='import')//импорт из 1с?
{
$db_old_groups = CIBlockElement::GetElementGroups($arFields['ID'], true);
while($ar_group = $db_old_groups->Fetch())
{
if(!in_array($ar_group['ID'],$arFields['IBLOCK_SECTION']))
$arFields['IBLOCK_SECTION'][]=$ar_group['ID'];
}
}
}
Удачного использования
Опубликовано: 26 июня 2012
|
|
|