Всем привет!
Пишу свой модуль, и столкнулся вот с какой проблемой: Не срабатывает обработчик события при добавлении нового элемента Highload-блока.
Вот код модуля:
файл /install/index.php:
В лог-файл вывожу переменную $handlers, вот что там внутри:
Содержимое файла /lib/event/hlblockelement.php:
Проблема в том, что когда я добавляю новый элемент Highload-блока, то метод addHLNotifyElement не вызывается почему то. Подскажите пожалуйста, что я делаю не так?
Пишу свой модуль, и столкнулся вот с какой проблемой: Не срабатывает обработчик события при добавлении нового элемента Highload-блока.
Вот код модуля:
файл /install/index.php:
| Код |
|---|
...
public function doInstall()
{
if (!$this->isRequiredModulesInstalled()) {
return false;
}
ModuleManager::registerModule($this->MODULE_ID);
$this->installEvents();
}
//Регистрируем обработчики событий
public function installEvents()
{
$HLEntityName = 'NotifyRules';//название сущности HL-блока
$eventManager = EventManager::getInstance();
$eventManager->registerEventHandler('', $HLEntityName . 'OnAfterAdd', $this->MODULE_ID,
'\Mycompany\Notify\Event\HLblockElement', 'addHLNotifyElement');
$handlers = EventManager::getInstance()->findEventHandlers("", $HLEntityName . "OnAfterAdd");
Debuger::dbgLog($handlers, '_handlers');//Функция логирования данных в файл
return true;
}
... |
В лог-файл вывожу переменную $handlers, вот что там внутри:
| Код |
|---|
2023-08-22 16:05:03Array ( [0] => Array ( [SORT] => 100 [TO_MODULE_ID] => module.name [TO_PATH] => [TO_CLASS] => \Mycompany\Notify\Event\HLblockElement [TO_METHOD] => addHLNotifyElement [TO_METHOD_ARG] => Array ( ) [VERSION] => 2 [TO_NAME] => \Mycompany\Notify\Event\HLblockElement::addHLNotifyElement (my.company) [FROM_DB] => 1 ) ) |
Содержимое файла /lib/event/hlblockelement.php:
| Код |
|---|
<?php
namespace Mycompany\Notify\Event;
use Mycompany\Notify\HLblockHelper;
use Bitrix\Main\Loader;
use Mycompany\Rest\Model\Debuger;
Loader::includeModule('highloadblock');
class HLblockElement
{
public static function addHLNotifyElement()
{
Debuger::dbgLog('addHLNotifyElement method','_notify_module');
}
} |
Проблема в том, что когда я добавляю новый элемент Highload-блока, то метод addHLNotifyElement не вызывается почему то. Подскажите пожалуйста, что я делаю не так?