События настроек модуля

[OnBeforeAllOptionsBuild] Событие для создания своих табов в настройках модуля

//файл /bitrix/php_interface/init.php

//подписываемся на событие
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'rbs.moysklad', 
    'OnBeforeAllOptionsBuild', 
    'OnBeforeAllOptionsBuildHandler'
);

function OnBeforeAllOptionsBuildHandler(\Bitrix\Main\Event $event)
{
    //получаем параметры события
    $eventParams = $event->getParameters();

    //массив всех опций модуля
    $arAllOptions = $eventParams['arAllOptions']; 
    //массив вкладок для работы опций
    $aTabs = $eventParams['aTabs']; 
    
    //Пример добавления кастомных опций
    //Далее стандартным способом для битриксовых модулей добавляем табы и параметры
    $arAllOptions['custom_tab'][] = 'Custom tab';
    $arAllOptions['custom_tab'][] = ["custom_option", "Custom option", '', ['checkbox', "N"]];
    
    $aTabs[] = [
        "DIV" => "custom_tab",
        "TAB" => 'Custom tab',
        "ICON" => "custom_tab",
        "TITLE" => 'Custom tab'
    ];
    
    //$result оставляем всегда таким перед возвращением результата события
    $result = [
        'arAllOptions' => $arAllOptions,
        'aTabs' => $aTabs
    ];

    //возвращаем SUCCESS если нужно поменять массив опций
    return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
}

Результат работы события:

[OnBeforeWebHookOptionsBuild] Событие для вывода веб-хуков в соответствующей вкладке

//файл /bitrix/php_interface/init.php

//подписываемся на событие
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'rbs.moysklad', 
    'OnBeforeWebHookOptionsBuild', 
    'OnBeforeWebHookOptionsBuildHandler'
);

function OnBeforeWebHookOptionsBuildHandler(\Bitrix\Main\Event $event)
{
    //возвращаем массив такого вида:
    // 'result' => [...] - у массива единственный ключ - result,
    // внутри result идет массив такой структуры:
    // 'entity' => ['UPDATE', 'CREATE', ...],
    // где 'entity' - сущность в МС, на которое подписываем веб-хук
    // массив у ключа сущности это три событя веб-хука 'UPDATE', 'CREATE', 'DELETE'
    
    return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
        'result' => [
            'move' => ['CREATE', 'UPDATE'],
            'supply' => ['UPDATE', 'DELETE'],
            'purchaseorder' => ['CREATE'],
            'demand' => ['UPDATE']
        ]
    ]);
}

В результате работы события во вкладке "веб-хуки" появятся новые веб-хуки, которые подчиняются общим правилам обработки веб-хуков в модуле.

Last updated