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

Сегодня я хочу поделиться скриптом для битрикса который помогает скопировать свойство элемента инфоблока.

Это может пригодиться, например, когда вам надо сделать копию свойства для каких-то экспериментов, но не хочется испортить актуальные данные.


<?/* bitrix копирование свойства типа "привязка к разделам" внутри элемента инфоблока */
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

CModule::IncludeModule("iblock");

//следующие 4 строки снимают ограничения по времени и памяти выполнению скрипта
//это бывает полезно когда вам надо обновить очень много элементов
@set_time_limit(99600);
ini_set("memory_limit","4096M");
ini_set("max_execution_time","0");
ini_set("max_input_time","0");

//получаем все элементы инфоблока
$prods = CIBlockElement::GetList(
	array(),
	//тут надо ввести ID вашего инфоблока и другие параметр для фильтрации
	array('IBLOCK_ID' => 14),
	false,
	false,
	array('*')
);

while($el = $prods->GetNextElement()){

	$fields = $el->GetFields();
	//тут введите код свойство которое копируется
	$from = $el->GetProperty('PROP_FROM');
	//обновляем свойство
	CIBlockElement::SetPropertyValuesEx(
		$fields['ID'], //ID обновляемого элемента
		14, //ID инфоблока
		array('PROP_TO' => $from['VALUE']) //код обновляемого свойства
	);
}

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>

Надеюсь этот скрипт для копирования свойств bitrix вам поможет.
Если есть вопросы по работе или предложения по улучшению скрипта пишите.

bitrix копирование свойств типа привязка к элементам

Добавить комментарий

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

90% сайтов рунета содержат уязвимости и могут быть взломаны! Проверь свой сайт!