Событие перед добавлением или обновлением элемента инфоблока

Событие (выполнение кода) перед добавлением или обновлением элемента инфоблока указывается в файле bitrix/php_interface/site_id/init.php через методы OnBeforeIBlockElementAdd и OnBeforeIBlockElementUpdate.

Пример транслита:

# bitrix/php_interface/init.php

AddEventHandler('iblock', 'OnBeforeIBlockElementAdd', array('MyClass', 'OnBeforeIBlockElementHandler'));
AddEventHandler('iblock', 'OnBeforeIBlockElementUpdate', array('MyClass', 'OnBeforeIBlockElementHandler'));

class MyClass
{
    public function OnBeforeIBlockElementHandler(&$arFields)
    {
        $name = $arFields['NAME'];
        $from_language = 'ru';

        $arFields['CODE'] = Cutil::translit($name, $from_language);
    }
}