Пишу свой модуль. Решил написать обработчик событий
OnAfterIBlockElementAdd.Вызываю при установке модуля функцию
Код |
---|
RegisterModuleDependences("iblock", "OnAfterIBlockElementAdd", "vr_chess", "MyClass", "OnAfterIBlockElementAddHandler"); |
Далее в файле include.php прописываю
Код |
---|
class MyClass{
function OnAfterIBlockElementAddHandler(&$arFields){
echo "<pre>";print_r($arFields); echo "</pre>";die();
}
}
|
Проблема заключается в том что в массиве
$arFields не содержится
ID элемента инфоблока.
Для сравнения если вызывать ту же самую функцию обработчика только через
AddEventHandler то данной проблемы не возникает, но, увы, я не могу её использовать в проекте.
Вот чем отличаются результаты
С помощью
RegisterModuleDependences Код |
---|
Array
(
[ACTIVE] => Y
[MODIFIED_BY] => 1
[IBLOCK_ID] => 19
[ACTIVE_FROM] =>
[ACTIVE_TO] =>
[SORT] => 500
[NAME] => вавп
[CODE] =>
[TAGS] =>
[PREVIEW_TEXT] =>
[PREVIEW_TEXT_TYPE] => text
[DETAIL_TEXT] =>
[DETAIL_TEXT_TYPE] => text
[TMP_ID] => 0
[PROPERTY_VALUES] =>
[IBLOCK_SECTION] => Array
(
)
[WF_COMMENTS] =>
[WF_STATUS_ID] => 1
[WF] => Y
[WF_NEW] =>
[SEARCHABLE_CONTENT] => ВАВП
) |
И с помощью
AddEventHandler Код |
---|
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyClass", "OnAfterIBlockElementAddHandler"));
|
выдает
Код |
---|
Array
(
[ACTIVE] => Y
[MODIFIED_BY] => 1
[IBLOCK_ID] => 19
[ACTIVE_FROM] =>
[ACTIVE_TO] =>
[SORT] => 500
[NAME] => ваа
[CODE] =>
[TAGS] =>
[PREVIEW_TEXT] =>
[PREVIEW_TEXT_TYPE] => text
[DETAIL_TEXT] =>
[DETAIL_TEXT_TYPE] => text
[TMP_ID] => 0
[PROPERTY_VALUES] =>
[IBLOCK_SECTION] => Array
(
)
[WF_COMMENTS] =>
[WF_STATUS_ID] => 1
[WF] => Y
[SEARCHABLE_CONTENT] => ВАА
[CREATED_BY] => 1
[~DATE_CREATE] => now()
[~TIMESTAMP_X] => now()
[XML_ID] => 414
[WF_PARENT_ELEMENT_ID] => 414
[ID] => 415
[RESULT] => 415
)
|