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


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

ID - ID sitemap.

FILTER - Фильтр для дополнительной выборки элементов инфоблока, которые попадут в файл Sitemap.

Возможна отмена генерации sitemap для элементов инфоблока.

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

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

class LuxarIndexcontrolEventes {

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

        $sitemapId = $arParam['ID'];
        $arFilter = $arParam['FILTER'];

        if ($sitemapId == 1) {
            /*
             * Модифицируем фильтр
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::SUCCESS,
               $arFilter)
            ;
            return $result;
        }
        else {
            /*
             * Отменяем генерацию sitemap для элементов инфоблока
             */
            $result = new \Bitrix\Main\EventResult(
               \Bitrix\Main\EventResult::ERROR,
            );
            return $result;
        }
    }
}



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