Множественная загрузка файлов в компоненте "Форма добавления редактирования" - 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

⚠️ **GitHub.com Fallback** ⚠️