Событие “OnBeforeSitemapIndexFileGeneration” вызывается перед генерацией главного файла sitemap.xml, когда уже все sitemap-файлы сформированы, и получает список всех sitemap-файлов.

Может быть полезно, если в главный файл sitemap.xml нам нужно добавить дополнительные файлы, например от других модулей.

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

ID - ID sitemap.

FILES - Массив сформированных файлов.


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

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

class LuxarSitemapEventes {

    public static function handlerOnBeforeSitemapIndexFileGeneration($event) {
        $arParam = $event->getParameters();

        $sitemapId = $arParam['ID'];
        $sitemapFilesList = $arParam['FILES'];

        if ($sitemapId == 1) {
            /*
             * Что-то делаем со списком, например, добавляем еще файлы
             */
            $sitemapFilesList[] = 'https://site.ru/sitemap_one.xml';
            $sitemapFilesList[] = 'https://site.ru/sitemap_two.xml';
            $sitemapFilesList[] = 'https://site.ru/sitemap_three.xml';

            $result = new \Bitrix\Main\EventResult(
                \Bitrix\Main\EventResult::SUCCESS,
                $sitemapFilesList
            );
            return $result;
        }
    }
}



 События модуля | Описание курса | Событие “OnAfterSitemapGeneration”