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

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

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


 

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

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,
)

Ещё статьи:

07.06.2025 WP vs Bitrix #4 Все страницы сайта на полях ACF сделаны.
Очередной пример того, что система управления как инструмент не виновата. Но тем не менее эти люди со светлыми вордпрессными лицами скажут, что битрикс плохой. ID: 623

07.06.2025 Нюансы обновления Аспро Медицинский центр 2
Вопрос от клиента, если есть аспро мед 2, но сейчас уже аспро мед 3. Это новый покупается? или обновляется текущий? ID: 622

07.06.2025 Много детальных шаблонов с привязкой к ID элемента
Очередной случай когда скажут битрикс плохой, но инструмент не виноват в том, ка его используют.
Многое видел, но чтобы плодить множество детальных шаблонов страницы с привязкой к ID элемента каждой страницы, такого ещё не видел. ID: 621

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