Здравствуйте!
Хочу сделать так чтобы при добавлении элемента создавался новый раздел в другом инфоблоке.
Но что то у меня совсем ничего не выходит.
Подскажите знатоки как правильно все сделать. Куда смотреть?
Хочу сделать так чтобы при добавлении элемента создавался новый раздел в другом инфоблоке.
Но что то у меня совсем ничего не выходит.
Подскажите знатоки как правильно все сделать. Куда смотреть?
Код |
---|
<? AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyClassS", "OnAfterIBlockElementAddHandler")); class MyClassS { // создаем обработчик события "OnAfterIBlockElementAdd" function OnAfterIBlockElementAddHandler(&$arFields) { if ($arFields['IBLOCK_ID']==16) { // для того чтоб обработчик срабатывал только если создавать элемент в определенном инфоблоке if (CModule::IncludeModule('iblock')) { $soob = new CIBlockSection; $sResult = CIBlockSection::GetByID($arFields["IBLOCK_SECTION_ID"]); //создаем массив с данными о разделе в котором создаем элемент if($sArResult = $sResult->GetNext()) $id_sec = CIBlockFindTools::GetSectionID(fasle, $sArResult["CODE"], array("IBLOCK_ID" => 17)); //находим ID раздела в другом инфоблоке зная только символьный код $arParams = array(); $trans = Cutil::translit($arFields["NAME"],"ru",$arParams); //создаем транслит из имени элемента(для символьного кода) $arFieldss = Array( "ACTIVE" => "Y", "IBLOCK_ID" => 17, //ID инфоблока в котором создастся раздел "IBLOCK_SECTION_ID" => $id_sec, //ID раздела в котором создастся подраздел "NAME" => $arFields["NAME"], //Название раздела с именем элемента "CODE" => $trans, //Символьный код раздела "SORT" => $SORT, "UF_PRIV_DOG" => $arFields["ID"], //пользовательское поле с типом "Привязка к элементам" ); if ($ID > 0) { $soobs = $soob->Update($ID, $arFieldss); } else { $ID = $soob->Add($arFieldss); $soobs = ($ID > 0); } if (!$soobs) echo $soob->LAST_ERROR; } } } } ?> |