Собственно, кто может подсказать, как через SetPropertyValuesEx() обновить/добавить значение свойства типа "видео".
Вот код получения предыдущего и нового видео и попытка его обновления у записи:
Вот код получения предыдущего и нового видео и попытка его обновления у записи:
Код |
---|
foreach ($result['long'] as $key => $value) { #$result['long'] - массив с названиями видео, где $key - ID записи для обновления, $value - название файла с видео $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => "$BLOCK_ID", "ID" => $key), false, false, array()); $ob = $res->GetNextElement(); $fields = $ob->GetFields(); $prop = $ob->GetProperties(); if($prop['VIDEO']['VALUE'][0]['path'] != "") { #формируем массив с существующими видео, если они есть у записи $arVideo = CFile::MakeFileArray($prop['VIDEO']['VALUE'][0]['path']); } else { $arVideo = array(); } $video = CFile::MakeFileArray($path_to_files.$long_name.$value); #готовим новое видео в результирующий массив $video = array_merge($video, $arVideo); #готовим результирующий массив CIBlockElement::SetPropertyValuesEx($fields["ID"], $BLOCK_ID, array("VIDEO" => $video)); #собственно, неудачная попытка обновления } |