Документация для разработчиков

OnBeforeLanguageDelete

bool
функция-обработчик(
 string language_id
);
Событие "OnBeforeLanguageDelete" вызывается перед удалением языка. Как правило задачи обработчика данного события - разрешить или запретить удаление языка.

Параметры

ПараметрОписание
language_id ID удаляемого языка.

Возвращаемое значение

Для отмены удаления языка и прекращении выполнения метода CLanguage::Delete необходимо в функции-обработчике создать исключение методом $APPLICATION->ThrowException() и вернуть false.

См. также

Пример функции-обработчика:

<?
// файл /bitrix/modules/my_module_id/include.php
class MyClass
{
    // создаем обработчик события "OnBeforeLanguageDelete"
    function OnBeforeLanguageDeleteHandler($language_id)
    {
        // проверим есть ли связанные с удаляемым языком записи
        $strSql = "SELECT * FROM my_table WHERE LANGUAGE_ID=".$DB->ForSql($language_id);
        $rs = $DB->Query($strSql, false, "FILE: ".__FILE__."<br>LINE: ".__LINE__);

        // если связанные записи есть то
        if ($ar = $rs->Fetch()) 
        {
            // запретим удаление языка
            global $APPLICATION;
            $APPLICATION->throwException("В моей таблице есть связанные записи.");
            return false;
        }
    }
}
?>

Пример регистрации функции-обработчика:

<?
// регистрируем обработчик события "OnBeforeLanguageDelete"
RegisterModuleDependences("main", "OnBeforeLanguageDelete", 
         "my_module_id", "MyClass", "OnBeforeLanguageDeleteHandler");
?>


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх