В файл init.php добавил код приведенный ниже, все работает, вот только не отрабатывает строка $arFields["CODE"] .= "-".$arFields["ID"]; - добавление к символьному коду id элемента или каталога. Это понятно почему, т.к id формируется уже после импорта элементов. Помогите как же все таки сделать так, чтобы к символьному коду в конец добавлялся id элемента или каталога
Код |
---|
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "AddElementOrSectionCode");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "AddElementOrSectionCode");
AddEventHandler("iblock", "OnBeforeIBlockSectionAdd", "AddElementOrSectionCode");
AddEventHandler("iblock", "OnBeforeIBlockSectionUpdate", "AddElementOrSectionCode");
function AddElementOrSectionCode(&$arFields) {
$params = array(
"max_len" => "100",
"change_case" => "L",
"replace_space" => "-",
"replace_other" => "-",
"delete_repeat_replace" => "true",
"use_google" => "false",
);
if (strlen($arFields["NAME"])>0 && strlen($arFields["CODE"])>0 && $arFields["IBLOCK_ID"] == 4) {
$arFields['CODE'] = CUtil::translit($arFields["NAME"], "ru", $params);
$arFields["CODE"] .= "-".$arFields["ID"];
}
}
|