Событие “OnBeforeUrlGeneration” вызывается перед добавлением url-элемента в файл sitemap. Этим событием можно изменить содержимое url-элемента, либо исключить его из файла sitemap.

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

FIELDS - Массив с полями url-элемента. 

Возможные ключи массива: url, date, changefreq, priority, files.

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

$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
    'luxar.sitemap',
    "OnBeforeUrlGeneration",
    ['LuxarSitemapEventes', 'handlerOnBeforeUrlGeneration']
);

class LuxarSitemapEventes {
    public static function handlerOnBeforeUrlGeneration($event) {
        $arParam = $event->getParameters();

        $arUrl = $arParam['FIELDS'];

        if ($arUrl[‘url’] == ‘https://site.ru/#’) {
            /*
             * Модифицируем элемент
             */
            $arUrl[‘url’] = ‘https://site.ru/’;
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::SUCCESS,
               $arUrl)
            ;
            return $result;
        }
        if ($arUrl[‘url’] == ‘https://site.ru/personal/’) {
            /*
             * Убираем элемент из файла sitemap
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::ERROR,
            );
            return $result;
        }
    }
}



 Событие “OnSitemapGenerationBeforeIblockElement” | Описание курса | Событие “OnSitemapGenerationFilterIblockElement”