Как в битрикс обновить множественное свойство Файл у элемента?
Если нужно заменить одну из картинок с сохранением порядка, можно сделать это напрямую, работая с \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)
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.