Как создать свой сайт
Верстка сайта (и не только) в простых примерах

Как сделать AJAX поле загрузки файла в Drupal 7

Опубликовал(а) Programmer 26/05/2017 в Drupal , метки:

Для того чтобы сделать AJAX поле для загрузки файлов в CMS Drupal 7 достаточно воспользоваться следующим программным кодом:

Поле загрузки файлов в Drupal 7

В данном примере изображение будет загружено в каталог /sites/default/files/demo-images#upload_location. Также обратите внимание на тип #type, равный значению managed_file. Из остальных входных значений рассматриваемого элемента формы я отмечу следующие:

  • #upload_validators  здесь перечисляются функции проверки загружаемого файла. file_validate_is_image проверяет, что загруженный файл является именно картинкой, а не чем то другим. Если вы к примеру возьмете text.txt и переименуете его в text.jpeg, то данная функция это распознает и не даст пользователю закачать поддельный файл. file_validate_extensions проверяет допустимые расширения.
  • #progress_indicator — индикатор AJAX, отображающий процесс выполнения действия. Может быть равен либо none (ничего), либо анимированной полоске bar, либо колесику throbber.
  • #default_value — используйте его для задания значения поля в момент отображения ваше формы. Касаемо показанного выше примера здесь должен быть  fid картинки.

P.S. 1 Есть  managed_file у и другие параметры, о них вы можете прочитать тут. Однако следует учесть, что даже на официальном сайте Друпала документация неполная.

P.S. 2. Загруженные таким образом файлы будут иметь статус, равный 0.


Добавить комментарий