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

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

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


 

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

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

Ещё статьи:

27.11.2024 Ошибка при 1с обмене 502 Bad Gateway
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен. Ответ сервера: 502 Bad Gateway ID: 540

20.11.2024 Задача для РНР, разработать Футбольный календарь
На первый взгляд задача кажется не сложной, но это не так. Нужно учитывать, что она займёт время, многие не успевают сделать в сроки. ID: 538

20.11.2024 Нюансы обмена доставок один случай
Описание проблемы.
В сторону 1С синхронизацию доставок она налажена, информация записывается (проставляется тип доставки, зона доставки) ID: 537

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