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

OnBeforeSiteDelete

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

Параметры

ПараметрОписание
site_id ID удаляемого сайта.

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

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

См. также

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

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

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

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

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


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