Множественная загрузка файлов в компоненте "Форма добавления редактирования" - alma-com/wiki-bitrix GitHub Wiki
В необходимом инфоблоке нужно найти (добавить) свойство с типом "Файл" и обязательно указать "Множественное". После этого в форме появляются несколько инпутов для добавления по одному файлу.
Необходимо на основе стандартного компонента iblock.element.add.form
, создать свой.
в файле template.php
нужно найти вывод инпутов с файлами, сделать так чтобы выводился только один, а остальные были type="hidden"
и плюс нужно чтобы имя инпута было массив:
...
for ($i = 0; $i<10; $i++)
{
?>
<input type="hidden" name="PROPERTY[<?=$propertyID?>][<?=$arResult["ELEMENT_PROPERTIES"][$propertyID][$i]["VALUE_ID"] ? $arResult["ELEMENT_PROPERTIES"][$propertyID][$i]["VALUE_ID"] : $i?>]" value="<?=$value?>" />
<?
if($i==0){
<input multiple name="PROPERTY_FILE_<?=$propertyID?>[]" type="file" />
}
}
...
Далее в component.php
нужно глобальный массив $_FILES подменить на свой:
$modifyFiles = array();
foreach($_FILES as $key => $file) {
$count = count($file['name']);
for($i = 0; $i < $count; $i++) {
$modifyFiles[$key . '_' . $i] = array(
'name' => $file['name'][$i],
'type' => $file['type'][$i],
'tmp_name' => $file['tmp_name'][$i],
'error' => $file['error'][$i],
'size' => $file['size'][$i],
);
}
}
Далее в этом файле находим все $_FILES
и заменяем не переменную $modifyFiles