• статья
  • pantey

Автоматическая загрузка файлов в Drupal 7. Модуль auto_upload

10.02.2014

Сегодня, проверяя опросники сайта – заметил, что больше десятка пользователей задали один и тот же вопрос, а именно «Расскажите пожалуйста, как выполнить автоматическую загрузку файла, при создании материала». Именно этим я и решил заняться, ибо данной задачи, как ни странно никогда не решал. На просторах drupal.org , был найден модуль, который вроде бы как решал нашу задачу, - autoupload. Но как всегда есть одно «НО» - у меня он категорически отказался заводиться. Естественно, что после неудачи - я полез в исходники модуля, с целью разобраться с реализацией и именно этот модуль натолкнул меня на мысль, что с данной задачей можно легко справиться через jQuery, файл которого не превышает 1кб.

Собственно осталось все это дело реализовать и в конечном счете был создан модуль auto_upload. Так же решил добавить пока одну настройку – это выбор, для каких типов материалов необходимо добавлять данную опцию. Возможно, нужна реализация с ограничениями по ролям пользователей, но это по вашему желанию – если нужно будет, допишу.

Теперь к модулю. Установка такая же как и у всех, сложностей не должно возникнуть. Из зависимостей – только Jquery_update. После активации модуля в разделе «Конфигурация», у вас появится новый раздел – Settings Auto Upload Files.

Новый раздел Settings Auto Upload Files

В данном разделе вы можете выбрать для каких типов материалов необходимо использовать автоматическую загрузку файлов.

Выбираем необходимые типы материалов, для которых необходимо применить автозагрузку файлов

Так же не забываем менять версию Jquery на 1.7. После выполнения всех действий, для выбранных типов материалов будет доступна автоматическая загрузка файлов (кнопку загрузить – я естественно скрыл, ибо необходимость в ней отпадает).

Для этого поля будет доступна автоматическая загрузка файла

Ну вот в принципе и все. Как всегда на d.org он не появится, любители drush – отпадают.

Скачать модуль auto_upload (версия 1.0.2)

  • Исправлено отображение кнопки "Загрузить" для полей с типом - файл
  • Исправлена работоспособность для типов материалов, в имени которых присутствует "_"
  • Добавил подключение скрипта, только на страницах администрирования
скачать модуль auto_upload 1.0.2

Скачать модуль auto_upload (версия 1.0.3)

  • Добавлена поддержка форм, создаваемые модулем webform.
скачать модуль auto_upload 1.0.3
-->
Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (20)

Profile picture for user 1541
Александр
16.02.2014

Добрый день Павел!
Поставил этот модуль. Да, он работает с полем изображение и с полем файл. Но работает только в типах материалов которые есть в Друпале по умолчанию, а именно: "article" и "basic page". Создаю новый тип материала, добавляю поля файл и изображение, в "Settings Auto Upload Files" ставлю галочку для новосозданного типа материала но модуль не работает. КАк решить проблему Павел.

Profile picture for user 1541
Александр
16.02.2014

Павел! Поковырявшись, заметил проблему. Если создать тип материала с названием которое состоит только из букв (например - testodin) то все работает нормально. Если же написать test_odin то модуль не работает.

Profile picture for user pantey
pantey
17.02.2014

исправлено, в версии 1.0.2

Profile picture for user 1541
Александр
17.02.2014

Большое спасибо вам Павел. Вроде все работает!

Profile picture for user 1541
Серый
25.08.2014

Спасибо за модуль. Есть вопрос, а если нужно авто загрузка для веб формы?

Profile picture for user pantey
pantey
26.08.2014

ну по сути можно дописать, если есть необходимость. Если срочно, могу дописать.

Profile picture for user 1541
Серый
26.08.2014

Доработайте модуль пожалуйста, думаю не один я буду признателен! :)

Profile picture for user pantey
pantey
08.09.2014

Добавил в версии 1.0.3

Profile picture for user 1541
Серый
08.09.2014

Спасибо БОЛЬШОЕ)) А можете подсказать, как сделать у себя на сайте так же как у вас, что при загрузке страницы бежит в верху сайта полоска?

Profile picture for user pantey
pantey
09.09.2014
Profile picture for user 1541
Серый
09.09.2014

Спасибо)!!!!

Profile picture for user 1541
Женя
13.12.2014

добрый день, а возможно добавить автозагрузку для полей профиля?

Profile picture for user 1541
Александр
10.06.2015

Добрый день Павел!
Предлагаю добавить возможность автозагрузки для комментариев...

Profile picture for user 1541
Руслан
04.10.2015

А есть ли возможность выбирать в вебформе не один файл для загрузки, а несколько файлов за раз? Можно ли дописать ваше решение?

Profile picture for user pantey
pantey
07.10.2015
Profile picture for user 1541
Руслан
08.10.2015

Не работают эти поля с вашим модулем, ведь по ним выбор нужно делать как виджет, потому и спросил, возможна ли доработка вашего?

Profile picture for user pantey
pantey
10.10.2015

Все работает... Проверено на версии 1.03..Смена виджета не имеет значения.

Profile picture for user 1541
gruzdev
25.03.2016

После включения модуля:

Warning: Invalid argument supplied for foreach() в функции auto_upload_preprocess_page() (строка 13 в файле /sites/all/modules/auto_upload/auto_upload.module).

Profile picture for user 1541
gruzdev
25.03.2016

Все, понял. Пока не выбран связанный контент - выдает ошибку.

Profile picture for user 1541
Павел
17.03.2018

Спасибо за отличный модуль! 

Полдня потратил на решение этой задачи пока не нашёл его.

Всё хорошо работает, но у меня вместе с кнопкой "Загрузить" пропала и кнопка "Удалить"

Т.е. я не могу удалить изображение загруженное если нужно его изменить.

Подскажите пожалуйста как это исправить?