Опубликовано в пт, 01/12/2017 - 07:46 |
Сделал модуль, который добавляет новый элемент formAPI для загрузки нескольких изображений.
По сути, это переработанный привычный всем виджет file_manager.
Перенесен практически весь функционал (ajax, валидация) + добавлен параметр '#file_max_files', который ограничивает количество загружаемых файлов.
Пример использования:
$form['images_downloads'] = array( '#type' => 'mf_multiple', '#title' => t('Images'), '#descriptions' => t('Test description'), '#default_value' => array(226), '#upload_location' => 'public://test', '#upload_validators' => array( 'file_validate_is_image' => array(), 'file_validate_extensions' => array('png gif jpg jpeg'), 'file_validate_size' => array(1 * 1024 * 1024), ), '#file_max_files' => 3, '#progress_indicator' => 'bar', );
После отправки формы в $form_state['values'][ИМЯ_ПОЛЯ] будет массив 'fids' с идентификаторами загруженных файлов (Например, $form_state['values']['images_downloads']['fids'])
Стандартная проверка загруженных файлов:
Модуль использует возможности HTML5 (атрибут multiple
):
Вывод файлов пока в классическом виде:
Удаление отдельных файлов (ajax):
Комментарии
Добавить комментарий