Bitrix24 как написать пользовательский обработчик событий

Bitrix24 как написать пользовательский обработчик событий

10.10.2017 10:05:39 Просмотров 118 Источник

Я хочу знать, где я должен поместить ниже пользовательский код обработчика событий в bitrix24 (автономная система) без изменения какого-либо основного файла.

AddEventHandler('socialnetwork', 'OnBeforeSocNetGroupAdd', 'TestHandler');
function TestHandler(&$arFields) {
   $arFields['DESCRIPTION'] .= ' It is forbidden to use foul language!';
   if ($GLOBALS['USER']->GetID() == 2) {
      $GLOBALS['APPLICATION']->throwException('You cannot create groups.');
      return false;
   }
}
У вопроса есть решение - Посмотреть?

Ответы - Bitrix24 как написать пользовательский обработчик событий / Bitrix24 How to write custom event handler

Является ответом!
maxkrasnov

11.10.2017 03:29:54

Если это не пользовательский модуль, вы можете поместить свой код в двух местах:

  1. /bitrix/php_interface/init.php(если нет инициализации.php файл, создайте его)

или

  1. Если у вас есть localпапка в корне проекта, вы можете создать файл init.phpв /local/php_interface/init.php
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80399168_46688272
Спасибо за ответ, он отлично работает. Но когда я пытаюсь захватить ниже событие это не будет работать.Можете ли вы пожалуйста, что я делаю неправильно здесь AddEventHandler('voximplant', 'onCallInit',массив('logCalInit'); logCalInit функция(&$arFields){ функции file_put_contents('журнал вызовов.txt', 'тестовый контакт'); }
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80404309_46688272
попробовать AddEventHandler('voximplant', 'onCallInit','logCalInit'); function logCalInit(&$arFields){ file_put_contents('call-log.txt', 'test contact'); } , вы устанавливаете в массиве callback param без имени класса, возможно, это поможет
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80404406_46688272
ou, какая версия Битрикс 24? попробуйте установить имя события OnVoximplantCallInit
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80491453_46688272
Спасибо за ваш ответ, но упомянуть событие не работает.Я использую bitrix25 17.0.10
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80491622_46688272
странно, что новые документы dev.1c-bitrix.ru/rest_help/scope_telephony/voximplant/…
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment80491663_46688272
ou, смотрите документы, там пять параметров, а не один: dev.1c-bitrix.ru/rest_help/scope_telephony/voximplant/…
https://stackoverflow.com/questions/46660517/bitrix24-how-to-write-custom-event-handler/46688272#comment81383327_46688272
Спасибо за ваш ответ.Сегодня я попробовал следующий код, и он работает для события onCallStart, а не для события onCallEnd у вас есть идея, что я делаю неправильно здесь. <? AddEventHandler ('voximplant', 'onCallStart', array ('LogCall', 'Startcall'), 101); AddEventHandler('voximplant', 'onCallEnd',array('LogCall', 'Hangupcall'), 102); class LogCall { function Startcall($CALL_ID) {file_put_contents('call-log1.txt', 'Call end');} функция Hangupcall ($CALL_ID){ file_put_contents ('call-log2.тхт', 'отбой'); } } ?>
Закрыть X