Здравствуйте!
Хочу сделать так чтобы при добавлении элемента создавался новый раздел в другом инфоблоке.
Но что то у меня совсем ничего не выходит.
Подскажите знатоки как правильно все сделать. Куда смотреть?
Хочу сделать так чтобы при добавлении элемента создавался новый раздел в другом инфоблоке.
Но что то у меня совсем ничего не выходит.
Подскажите знатоки как правильно все сделать. Куда смотреть?
| Код |
|---|
<?
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;
}
}
}
}
?>
|