Добрый день.
Подскажите, пожалуйста, как подписать свой модуль на событие?
Все работает, если я напрямую в /local/php_interface/init.php напишу:
AddEventHandler("main", "OnAdminListDisplay", "MyOnAdminListDisplay");
function MyOnAdminListDisplay(&$list)
{
#Только для разделов инфоблока
if (strpos($list->table_id, 'tbl_iblock_section') !== false)
{
#Добавляем пункт в контекстное меню
foreach ($list->aRows as $row)
{
$row->aActions["archive"]["ICON"] = "";
$row->aActions["archive"]["TEXT"] = "Удалить весь сайт нахер";
$row->aActions["archive"]["ACTION"] = "javascript:archive(".$row->id.")";
}
}
}
Но мне надо через модуль!
В папке модуля install/index.php регистрирую событие:
function InstallEvents()
{
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->registerEventHandler(
'main',
'OnAdminListDisplay',
self::MODULE_ID,
'CKrasovskyEvent',
'eventHandler'
);
return true;
}
В lib/eventhandler.php
class CKrasovskyEvent
{
function eventHandler(&$list)
{
#Только для разделов инфоблока
if (strpos($list->table_id, 'tbl_iblock_section') !== false)
{
#Добавляем пункт в контекстное меню
foreach ($list->aRows as $row)
{
$row->aActions["archive"]["ICON"] = "";
$row->aActions["archive"]["TEXT"] = "Удалить весь сайт нахер";
$row->aActions["archive"]["ACTION"] = "javascript:archive(".$row->id.")";
}
}
}
}
Но событие не работает, подскажите что не так
Вот такой пункт должен появиться