2017-10-10 83 views
0

我想知道自定義事件處理程序代碼位於bitrix24(自託管系統)下的位置,而無需更改任何核心文件。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; 
    } 
} 

回答

0

如果沒有自定義模塊,你可以把你的代碼在兩個地方:

  1. /bitrix/php_interface/init.php(如果沒有的init.php文件,創建一個)

  1. 如果您在項目的根目錄中有local文件夾,則可以創建文件init.php/local/php_interface/init.php
+0

感謝您的答案,它工作正常。但是,當我試圖捕獲下面的事件它不會工作。可以請我做什麼在這裏做錯了 AddEventHandler('voximplant','onCallInit',array('logCalInit'); function logCalInit(&$ arFields) {'call-log.txt','test contact'); } – sh27

+0

嘗試'AddEventHandler('voximplant','onCallInit','logCalInit');函數logCalInit(&$ arFields){file_put_contents('call -log.txt','test contact');}',你在沒有classname的回調參數數組中設置,也許這​​會幫助 – maxkrasnov

+0

ou,哪個版本bitrix 24?嘗試設置事件名稱'OnVoximplantCallInit' – maxkrasnov

相關問題