Событие “OnBeforeRedirect” вызывается редиректом на страницу из поля “Куда”. Позволяет изменить параметры редиректа, либо отменить сам редирект.

Получает параметры:

FIELDS - Массив с полями редиректа. 

Пример использования:

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
    'luxar.indexcontrol',
    "OnBeforeRedirect",
    ['LuxarIndexcontrolEventes', 'handlerOnBeforeRedirect']
);

class LuxarIndexcontrolEventes {
    public static function handlerOnBeforeRedirect($event) {
        $arParam = $event->getParameters();

        $arRedirect = $arParam['FIELDS'];

        if ($arRedirect[‘TO’] == ‘/about/) {
            /*
             * Модифицируем элемент
             */
            $arRedirect[‘TO’] = ‘/o-kompanii/’;
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::SUCCESS,
               $arUrl)
            ;
            return $result;
        }
        if ($GLOBALS[‘USER’]->IsAdmin()) {
            /*
             * Отменяем редирект для администраторов сайта
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::ERROR,
            );
            return $result;
        }
    }
}



 События для раздела “Редиректы” | Описание курса | События для раздела “SEO-свойства страниц”