Как в битрикс обновить множественное свойство Файл у элемента?

4k
Алексей,
Как в битрикс обновить множественное свойство Файл у элемента?
Как в битрикс обновить множественное свойство Файл у элемента?

Если нужно заменить одну из картинок с сохранением порядка, можно сделать это напрямую, работая с \Bitrix\Iblock\ElementPropertyTable

Если нужно заменить одну из картинок с сохранением порядка, можно сделать это напрямую, работая с \Bitrix\Iblock\ElementPropertyTable

\Bitrix\Main\Loader::includeModule('iblock');
// Сделаем запрос в таблицу и найдём текущую запись с нужной картинкой
if ($arRowProp = \Bitrix\Iblock\ElementPropertyTable::getList([
	'filter' => [
		'IBLOCK_ELEMENT_ID' => $iblockItemId, // ID элемента инфоблока
		'IBLOCK_PROPERTY_ID' => $propId, // ID свойства для картинок
		'VALUE' => $oldImgId // ID файла
	]
])->fetch()) {
	// Обновляем значение на новое
	if (\Bitrix\Iblock\ElementPropertyTable::update(
		$arRowProp['ID'], 
		// $newImgId - ID нового файла, полученного, например, 
		// методами CFile::SaveFile(CFile::MakeFileArray('/path/to/file'), 'iblock');
		["VALUE" => $newImgId , "VALUE_NUM" => $newImgId] 
	)) {
		echo 'load!';
	}
}

При этом сохраняется сортировка изображений и поле DESCRIPTION (его можно также заменить в update)

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 12 мая 2021
примеры d7, разработчику, файлы
Поделиться
Похожие статьи
Ядро D7, примеры, документация
Важная тема для разработчиков, чем быстрее начнете использовать, тем лучше.
Читать дальше » 0
Алексей,
Как получить название единицы измерения товара
Да и вообще всю информацию о единице измерения товара. Сразу покажу готовый код для нового ядра битр...
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Если нужно заменить одну из картинок с сохранением порядка, можно сделать это напрямую, работая с \Bitrix\Iblock\ElementPropertyTable