@daylight6

Как привязать элемент инфоблока при его изменении к еще одному разделу?

Здравствуйте.

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

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

class AddToSection 
{
	public static $disableHandler = false;
	
	function OnAfterIBlockElementUpdateHandler(&$arFields)
	{
		if (self::$disableHandler)
			return;

		CModule::IncludeModule("iblock");

		if( $arFields["ID"] > 0 && $arFields["IBLOCK_ID"] == "21")
		{
			$el = new CIBlockElement;

			$arSections = array();

			if(in_array("104", $arFields["IBLOCK_SECTION"], true))
			{
				file_put_contents("/home/bitrix/www/bitrix/php_interface/log.txt", "Товар уже находится в папке 104");
			}
			else 
			{
				$arSections = array_push($arFields["IBLOCK_SECTION"], "104");

				$arLoadProductArray = Array(
					"IBLOCK_SECTION" => $arSections,
				);

				self::$disableHandler = true;

				$res = $el->Update($arFields["ID"], $arLoadProductArray);
			}
		}
	}
}


Привязка к какому-либо разделу вообще пропадает в этом случае. И почему-то в $arSections выводится не массив разделов, а цифра 2...
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы