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

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

ID - ID sitemap.

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


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

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

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

        $sitemapId = $arParam['ID'];
        $arElement = $arParam['FIELDS'];

        if ($sitemapId == 1) {
            /*
             * Модифицируем элемент инфоблока
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::SUCCESS,
               $arElement)
            ;
            return $result;
        }
        else {
            /*
             * Убираем элемент из файла sitemap
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::ERROR,
            );
            return $result;
        }
    }
}


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