Это позволить удобно расположить свой обработчик, например, в файл local/modules/myTools/lib/EventHandlers/Bitrix/Iblock/OnBeforeIBlockElementUpdate.php
<?php namespace myTools\EventHandlers\Bitrix\IBlock; use myTools\Tools\Events\BaseEvent; class OnBeforeIBlockElementUpdate extends BaseEvent { /** * @eventSort 100 */ public static function myEventHandler(&$arFields) { //код первого обработчика if($arFields["IBLOCK_ID"]==1 && is_Array($arFields["PROPERTY_VALUES"])){ \myTools\Catalog::ChangeSection1C($arFields, 1, 60, 5); } ... } /** * @eventSort 200 */ static function ChangeAddPicName(&$arFields) { $arFields = \myTools\Catalog::ChangeAddPicName($arFields); ... } static function osAddIdToQueue(&$arFields){ $sLog = date("Y-m-d H:i:s") . PHP_EOL; $sLog .= 'IBLOCK_ID:' . $arFields["IBLOCK_ID"] . PHP_EOL; $sLog .= 'PRODUCT_ID:' . $arFields["ID"] . PHP_EOL; file_put_contents($_SERVER['DOCUMENT_ROOT']."/local/log/so_OnBeforeIBlockElementUpdate.txt", $sLog, FILE_APPEND); if($arFields["IBLOCK_ID"]==1){ //$e = new \myTools\Opensearch\QueueIndex(); //$e->addIds([$arFields["ID"]]); $result = \myTools\Opensearch\QueueTable::add(['IBID'=>1, 'PRODUCT_ID'=>$arFields["ID"]]); } elseif($arFields["IBLOCK_ID"]==178){ //$e = new \myTools\Opensearch\QueueIndex(); //$e->addIds([$arFields["ID"]]); $result = \myTools\Opensearch\QueueTable::add(['IBID'=>178, 'PRODUCT_ID'=>$arFields["ID"]]); } } }