При изменении элемента получить значение свойства

При изменении элемента получить значение свойства

Обработчик события, который позволяет при изменении элемента получить значение свойства. Скачать пример
Далее эти данные можно использовать для передачи в письмо либо обработать для других целей
Пояснения ниже:


 

// регистрируем обработчик


AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("MyClass", "OnAfterIBlockElementUpdateHandler"));

class MyClass
{

    // создаем обработчик события "OnAfterIBlockElementUpdate"


    function OnAfterIBlockElementUpdateHandler(&$arFields)
    {
        if(!$arFields["RESULT"]) return false; 
           If($arFields['IBLOCK_ID'] == 19) {

//инфоблок заказов


   //массив нужного свойства


foreach($arFields['PROPERTY_VALUES']['187'] as $value){

//получаем нужные данные


if($value['VALUE']==56) {
 CModule::IncludeModule("sale");
$db_props = CIBlockElement::GetProperty(19, $arFields['ID'], "sort", "asc", Array("CODE"=>"PARTNER"));
if ($ar_props = $db_props->Fetch())
    {

//смотрим данные что получаем


AddMessage2Log($ar_props, true);
}
}
else {

//ведем лог если условие не выполнено


AddMessage2Log('не выполнен');
}
}

           }
    }
}
Вот так выглядит массив данных элемента при изменении


array (
  'ID' => '188',
  'TIMESTAMP_X' => '2017-03-21 11:27:11',
  'IBLOCK_ID' => '19',
  'NAME' => 'Партнер',
  'ACTIVE' => 'Y',
  'SORT' => '500',
  'CODE' => 'PARTNER',
  'DEFAULT_VALUE' => '',
  'PROPERTY_TYPE' => 'S',
  'ROW_COUNT' => '1',
  'COL_COUNT' => '30',
  'LIST_TYPE' => 'L',
  'MULTIPLE' => 'N',
  'XML_ID' => NULL,
  'FILE_TYPE' => '',
  'MULTIPLE_CNT' => '5',
  'TMP_ID' => NULL,
  'LINK_IBLOCK_ID' => '0',
  'WITH_DESCRIPTION' => 'N',
  'SEARCHABLE' => 'N',
  'FILTRABLE' => 'N',
  'IS_REQUIRED' => 'N',
  'VERSION' => '1',
  'USER_TYPE' => 'UserID',
  'USER_TYPE_SETTINGS' => NULL,
  'HINT' => '',
  'PROPERTY_VALUE_ID' => '2863',
  'VALUE' => 4,
  'DESCRIPTION' => '',
  'VALUE_ENUM' => NULL,
  'VALUE_XML_ID' => NULL,
  'VALUE_SORT' => NULL,
)

Ещё статьи:

17.11.2021 Тестовое задание для фреймворка Yii2
Пример тестового задания для фреймворк Yii2 с шаблоном Advanced, которое нужно выполнить за 2 дня или раньше ID: 323

17.11.2021 Тестовое задание для РНР мидл четыре задачи
Пример реального тестового задания для РНР мидл из 4-х частей: 1. PHP и HTML,. 2. Веб-разработка, 3. БД, 4. Массивы
ID: 322

23.09.2021 Тест провайдера adminvps.ru Тариф Битрикс 1 в 2021
Провёл тесты производительности Битрикс у провайдера adminvps.ru Тариф Битрикс 1.
В целом результаты мне очень понравились, что бросилось в глаза: ID: 321

© 2015-2021 Web админ
Связаться по WhatsApp