Битрикс обработчики событий. OnAfterIBlockElementUpdate.

Для решения задачи обновления свойств элементов в Битрикс иногда может понадобится использовать события Битрикса.

Сейчас мы рассмотрим работу с событием OnAfterIBlockElementUpdate.

Идем по порядку.

Пример использования OnAfterIBlockElementUpdate:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
	AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("UpdateElement", "Update"));
	class UpdateElement
	{
		//Чтобы у нас не было 504 ошибки необходимо прописать этот код, он не дает зациклится нашему скрипту
		public static $disableHandler = false;
 
		function Update(&$arFields)
		{ 
			if (self::$disableHandler)
				return;
 
			CModule::IncludeModule("iblock");
 
			//Обновляем только элементы из определенного инфоблока
			if( $arFields["ID"]> 0 && $arFields["IBLOCK_ID"] == "7")
			{
 
				$el = new CIBlockElement;
 
				$arLoadProductArray = Array(
					"ACTIVE" => "Y", //делаем элемент активным
				);
 
				self::$disableHandler = true; //отключаем
				if($res = $el->Update($arFields["ID"], $arLoadProductArray))
 
				{
					//Здесь может быть ваш код, echo написанное здесь выводится не будет
					echo 'Обновление завершено';
				}
 
			}
 
		}
	}
?>

События Битрикса очень мощьный инструмент, который во многих случаях может облегчить жизнь разработчику! На этом все, в следующих статьях обязательно опишу пример с событиями поинтереснее.

P.S.: Данный код размещаем в файле init.php. Всем удачи и успехов в работе!