Массовое изменение значения свойства элемента Битрикс

Модифицированное решение и CIBlockElement::Update для массового изменения значений свойства у элементов.

<?php require( $_SERVER[ "DOCUMENT_ROOT" ] . "/bitrix/header.php" );

//Подключаем модуль работы с инфоблоками

CModule::IncludeModule( 'iblock' );

// Уточняем какой будем использовать инфоблок

// И выбираем элементы у которых не заполнено пользовательское свойство

$arFilter = array(
	'IBLOCK_ID' => 3,
	'!PROPERTY_108' => 19
);

// Получаем массив всех элементов
$res = CIBlockElement::GetList( false, $arFilter, array( 'IBLOCK_ID', 'ID', 'PROPERTY_108' ) );

// Перебираем все элементы инфоблока и записываем в массив их IDшники
while ( $el = $res->GetNext() ):
	//echo $arElementsID[] = $el['ID'];
	//print_r( $el );

	$PROP = array();
	$PROP[108] = 19; // свойству с кодом 19 присваиваем значение 19

	$arLoadProductArray = Array( // элемент лежит в корне раздела
		"PROPERTY_VALUES" => $PROP,
	);

	$ELEMENT_ID = $el['ID'];
	$cbe = new CIBlockElement;
	$cbe->Update( $ELEMENT_ID, $arLoadProductArray );
	if ( $cbe ): echo "OK!
";
	else :
		echo "FAIL!
";
	endif;


endwhile;

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *