Загрузка нескольких файлов в пользовательской форме с помощью manage_file

Я создаю форму пользовательских настроек в Drupal 7 с полем для загрузки изображения. В этом поле изображения должно быть разрешено несколько загрузок.

После некоторых исследований я обнаружил, что вы можете сделать это с помощью managed_file и '#attributes' => array('multiple' => 'multiple'). Однако это, похоже, ничего не делает.

Это код, который у меня сейчас есть:

$form['frontpage_banner_images'] = array(
  '#type' => 'managed_file',
  '#title' => t('Frontpage Images'),
  '#name' => 'files[]',
  '#attributes' => array(
    'multiple' => 'multiple',
    'class' => 'testclass',
  ),
  '#upload_location' => 'public://homepage-banners/',
  '#default_value' => variable_get('frontpage_banner_images'),
);

В результате:

<div class="form-item form-type-managed-file form-item-files-">
  <label for="edit-frontpage-banner-images-upload">Frontpage Images</label>
  <div id="edit-frontpage-banner-images-upload" class="testclass form-managed-file">
    <input type="file" id="edit-frontpage-banner-images-upload" name="files[frontpage_banner_images]" size="22" class="form-file">
    <input type="submit" id="edit-frontpage-banner-images-upload-button" name="frontpage_banner_images_upload_button" value="Upload" class="form-submit ajax-processed">
    <input type="hidden" name="frontpage_banner_images[fid]" value="0">
  </div>
</div>

Как видите, testclass из моего #attributes применяется к обертке div, а не к вводу файла. Так что атрибут multiple ничего не делает.

Это то, чего я пытаюсь достичь (Фотошоп):

введите здесь описание изображения

Любая помощь в том, как этого добиться, приветствуется.


person Jrn    schedule 01.03.2017    source источник


Ответы (1)