Я пишу свой модуль и в нем нужно добавить функционал логирования событий, которые произошли с элементами highload-блоков при работе сайта, он должен фиксировать количество добавленных/измененных/удаленных элементов.
Как правильно зарегистрировать обработчик?
В файле install/index.php в методе InstallEvents я написал такой код по аналогиb с обработкой событий для других модулей Битрикс:
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->registerEventHandler('highloadblock','OnBeforeAdd', 'my_module', 'MyModuleClass', 'Handler');
Но у меня сомнения что этот код верный. В примерах для обработки событий highload-блоков указывается имя конкретного highload-блока, а имя модуля вообще не указывается.
$hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById(12)->fetch();
$entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('', $entity->getName().'OnAdd', '\Partner\Myentity\OnAdd');
Но как быть если нужно создать универсальный обработчик для всех highload-блоков которые есть или будут созданы в системе?
Я должен обратится к списку highload-блоков, получить все и только затем для каждого блока добавить обработчик? И в каком файле модуля я должен делать такой запрос?