Заметил что в API-документации битрикса не хватает одной маленькой, но иногда очень нужной мелочи.
При создании елмента, через API, не увидел примера добавления пользовательского, множественного свойства типа "Файл".
Как оказалось все до банального просто и не интеренсо, но на всякий случай опишу, может кому то пригодится.
Что бы добавить пользовательское свйоство типа файл, необходмо сначала обработать этот файл методом CFile::MakeFileArray.
Если у нес несколько файлов и поле множественное то это надо заключить в цикл
где:
$file_arr - Массив с путями картинок.
После присвоим полученый массив в массив пользовательских свойств.
где:
ключ 3 - ID Пользовательского свойства, ID можно заменить символьным кодом.
Следущим шагом будет заполнение массива с остальными полями:
Описание этих полей можете найти в документации 1С-Битрикс.
Все остальное останется неизменным
После выполнения кода должны получить примерно следующее:
Надеюсь эта статья кому то поможет, и я потратил время не зря.
При создании елмента, через API, не увидел примера добавления пользовательского, множественного свойства типа "Файл".
Как оказалось все до банального просто и не интеренсо, но на всякий случай опишу, может кому то пригодится.
Что бы добавить пользовательское свйоство типа файл, необходмо сначала обработать этот файл методом CFile::MakeFileArray.
$file_arr = CFile::MakeFileArray( #Полный путь к файлу #);
Если у нес несколько файлов и поле множественное то это надо заключить в цикл
foreach( $file_arr as $file){
$more_src[] = CFile::MakeFileArray( $file );
}
$more_src[] = CFile::MakeFileArray( $file );
}
где:
$file_arr - Массив с путями картинок.
После присвоим полученый массив в массив пользовательских свойств.
$PROP[3] = $more_src;
где:
ключ 3 - ID Пользовательского свойства, ID можно заменить символьным кодом.
Следущим шагом будет заполнение массива с остальными полями:
$arLoadProductArray = Array(
"MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем
"IBLOCK_SECTION_ID" =>"",
"IBLOCK_ID" => #IBLOCK_ID#,
"PROPERTY_VALUES" => $PROP,
);
"MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем
"IBLOCK_SECTION_ID" =>"",
"IBLOCK_ID" => #IBLOCK_ID#,
"PROPERTY_VALUES" => $PROP,
);
Описание этих полей можете найти в документации 1С-Битрикс.
Все остальное останется неизменным
CModule::IncludeModule("iblock");
$el = new CIBlockElement;
$PRODUCT_ID = $el->Add($arLoadProductArray)
$el = new CIBlockElement;
$PRODUCT_ID = $el->Add($arLoadProductArray)
Надеюсь эта статья кому то поможет, и я потратил время не зря.