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

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

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

Ну вот в принципе и все. Как всегда на d.org он не появится, любители drush – отпадают.
Скачать модуль auto_upload (версия 1.0.2)
- Исправлено отображение кнопки "Загрузить" для полей с типом - файл
- Исправлена работоспособность для типов материалов, в имени которых присутствует "_"
- Добавил подключение скрипта, только на страницах администрирования
Скачать модуль auto_upload (версия 1.0.3)
- Добавлена поддержка форм, создаваемые модулем webform.
Комментарии (20)
Добрый день Павел!
Поставил этот модуль. Да, он работает с полем изображение и с полем файл. Но работает только в типах материалов которые есть в Друпале по умолчанию, а именно: "article" и "basic page". Создаю новый тип материала, добавляю поля файл и изображение, в "Settings Auto Upload Files" ставлю галочку для новосозданного типа материала но модуль не работает. КАк решить проблему Павел.
Павел! Поковырявшись, заметил проблему. Если создать тип материала с названием которое состоит только из букв (например - testodin) то все работает нормально. Если же написать test_odin то модуль не работает.
исправлено, в версии 1.0.2
Большое спасибо вам Павел. Вроде все работает!
Спасибо за модуль. Есть вопрос, а если нужно авто загрузка для веб формы?
ну по сути можно дописать, если есть необходимость. Если срочно, могу дописать.
Доработайте модуль пожалуйста, думаю не один я буду признателен! :)
Добавил в версии 1.0.3
Спасибо БОЛЬШОЕ)) А можете подсказать, как сделать у себя на сайте так же как у вас, что при загрузке страницы бежит в верху сайта полоска?
здесь
Спасибо)!!!!
добрый день, а возможно добавить автозагрузку для полей профиля?
Добрый день Павел!
Предлагаю добавить возможность автозагрузки для комментариев...
А есть ли возможность выбирать в вебформе не один файл для загрузки, а несколько файлов за раз? Можно ли дописать ваше решение?
здесь
Не работают эти поля с вашим модулем, ведь по ним выбор нужно делать как виджет, потому и спросил, возможна ли доработка вашего?
Все работает... Проверено на версии 1.03..Смена виджета не имеет значения.
После включения модуля:
Warning: Invalid argument supplied for foreach() в функции auto_upload_preprocess_page() (строка 13 в файле /sites/all/modules/auto_upload/auto_upload.module).
Все, понял. Пока не выбран связанный контент - выдает ошибку.
Спасибо за отличный модуль!
Полдня потратил на решение этой задачи пока не нашёл его.
Всё хорошо работает, но у меня вместе с кнопкой "Загрузить" пропала и кнопка "Удалить"
Т.е. я не могу удалить изображение загруженное если нужно его изменить.
Подскажите пожалуйста как это исправить?