Drupal → Модуль One Click Upload — простая заливка файлов в текст

02.04.2011

One Click Upload — это модуль быстрой загрузки файлов в BUEditor, CKEditor и обычные textarea.

Модуль представляет из себя кнопку на панели редактора, клик на которой вызывает диалог выбора файлов. После выбора файлов и загрузки их на сервер, в редактор вставляется шаблон, соответствующий расширению файла. Например если была загружена картинка, то в редактор вставится код:

<img src="/sites/default/files/public/usergen/old/images/image.jpg" alt="" />

Если был загружен текстовый файл, то вставленный код будет:

<a href="/sites/default/files/public/usergen/old/file.txt">file.txt</a>

Возможности

  • Загрузка картинок и вставка html кода прямо в редактор.
  • Поддержка стилей изображения (Image Style) (скриншот).
  • Загрузка файлов и вставка в редактор ссылки на файл.
  • Мультизагрузка файлов и картинок.
  • Drag&drop файлов на кнопку редактора и на сам textarea (версия 2.x).
  • Редактируемые html шаблоны, которые вставляются в редактор после загрузки файла (скриншот).
  • Настройка разрешений для каждого шаблона (скриншот).

Видео демонстрация

Живое демо с версией 1.x.

Скриншоты

Установка

Установка модуля

  1. Распаковать архив с модулем в sites/all/modules
  2. Включить модуль One Click Upload
  3. (только для версии 1.x) Скачать SWFUpload v2.2.0.1 Core, распаковать архив в sites/all/libraries и переименовать папку SWFUpload v2.2.0.1 Core в swfupload. После этого, основной файл swfupload.js должен быть доступен по адресу sites/all/libraries/swfupload/swfupload.js (проверьте в браузере).

    Drush пользователи могут воспользоваться командой drush ocupload-dl-library

Интеграция с модулем BUEditor

  1. Открыть страницу настроек BUEditor — admin/config/content/bueditor
  2. Кликнуть по ссылке Edit напротив используемого редактора.
  3. Добавить новую кнопку с кодом js: E.showFileSelectionDialog(); (не изменяйте этот код!) (скриншот).
  4. Сохранить изменения.

Интеграция с модулем CKEditor (не с модулем Wysiwyg)

  1. Открыть страницу настроек CKEditor — admin/config/content/ckeditor
  2. Кликнуть по ссылке edit напротив используемого редактора.
  3. В секции Editor appearance, в поле Toolbar, переместить иконку One Click Upload из All buttons в Used buttons (скриншот до, скриншот после).
  4. В этой же секции, ниже, в поле Plugins, отметить плагин One Click Upload (скриншот).
  5. Сохранить изменения.
  6. Очистить кэш браузера.

Интеграция с модулем Wysiwyg + CKEditor 4

  1. Открыть страницу настроек модуля Wysiwyg — admin/config/content/wysiwyg
  2. Кликнуть по ссылке Edit напротив используемого редактора.
  3. Раскрыть группу Buttons and plugins и отметить кнопку One Click Upload.
  4. Сохранить изменения.

Важно: версия 1.x не работает в режиме техобслуживания (Maintenance mode).

Если модуль не работает

В комментариях или через обратную связь, оставляем:

— подробное описание ошибки
— ссылку на скриншот
— при каких обстоятельствах появляется ошибка
— содержание консоли ошибок javascript
— содержание системного журнала Drupal (watchdog)
— содержание error.log вашего сервера
— версию Drupal
— версию модуля BUEditor (если установлен)
— версию модуля CKEditor и версию самого редактора (если установлен)
— версию модуля Wysiwyg (если установлен)
— дату сборки модуля One Click Upload
— название и версию браузера
— название и версию ОС

Все просьбы о помощи без этих данных будут игнорироваться.

Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Модуль зачётный, спасибо! Вопрос следующий, он создаёт 4 версии файла на сервере. В случае с облаком, а это мой случай, не самый лучший вариант. Это так есть и возможно исправить или у меня что-то пошло не так?

Модуль создаёт только один файл на сервере. Что-то делаете не так.

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

Вот так - https://instagram.com/p/5NfcAussIn/

Поставьте версию 2.
1.x больше не поддерживается.

Спасибо вам! Работает! Если что надо, обращайтесь!

Это опять я. Все работало некоторое время. Запустили проект. И вдруг, в некоторых публикациях стали исчезать изображения. Не подскажите куда копать? Исчезают не все изображения, я по сути затрудняюсь вычислить по каким признакам они исчезают.

CKeditor
OCU 7.x-2.x-dev

Андрей
28.07.2015, 22:52

У меня так было, когда место на сервере закончилось.
Большие изображения исчезали, а маленькие еще закачивались на сервер.
Глупо — но факт!

С местом эт не наш случай. Есть еще несколько сотен гектаров в запасе.

Андрей
02.08.2015, 02:23

Всплывающее сообщение, что размер файла для загрузки слишком большой содержит HTML теги. Это ошибка модуля или Drupal-а?
http://prntscr.com/7zry8v

Сергей
04.08.2015, 08:22

Отчего, при загрузке страницы с кнопкой one click в Chrome отваливается Shockwave Flash?

Антон
12.08.2015, 15:44

Модулем очень доволен, использую его во всех проектах.

Есть вопрос по организации.
Загружаю файлы doc сразу с указанием просмотрщика (так удобнее)
Шаблон пишу такой:
www.domain.ru!filepath">!filename

Но мне хотелось бы уйти от указания названия домена, чтобы при возможном переносе не иметь хлопот с настройкой. Каким паттерном/токеном(?) его можно заменить, чтобы автоматика сама работала?

Антон
12.08.2015, 15:46

<a href="http://docs.google.com/viewer?url=www.domain.ru!filepath">!filename</a>

напишите свой текстовый фильтр

Антон
12.08.2015, 18:43

Что такое "текстовый фильтр"?

У меня нет никаких других настроек загрузки файлов кроме ocupload

Поле "Template to insert into editor" выглядит так:
<a href="http://docs.google.com/viewer?url=sim21.crimea-school.ru!filepath">!filename</a>

Антон
12.08.2015, 18:57

Это круто! Я обязательно буду применять их модуль!

Но мой вопрос, похоже, ближе к ocupload.

Нельзя ли в самом ocupload завести темплатку типа !sitename для использования в шаблоне?

в 47 строке

if(jQuery.browser){
              selectedText = jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 10
                ? selection.getNative().createRange().text
                : selection.getNative().toString();
				}else{
					selection.getNative().toString();
				}

в 90 строке оставил 0, убрал условие jQuery.browser.msie ? 800 : 0

вторая версия это flow.js?
Version comparison
1.x - uses flash upload library SWFUpload
2.x - uses html5 javascript library flow.js

Игорь
12.10.2015, 11:11

Не большая подстава вышла ;-)
Поставил 2 версию.
Подключил к CKEditor.
Всё работает, всё клёво, но клёво было не долго.
Две статьи, что я сохранил с фотками на утро оказались без фоток, точнее тег img прописан в тексте, а файлы удалились.
Статью я сохранил несколько раз как новую редакцию.
Видимо модуль ищет только в оригинальной версии текста наличие тега img c атрибутом src? И чего не нашел - взял и всё удалил.
А как это отключить во 2 версии? Не хочу чтобы он случайно что-то удалил. Пусть ни чего не проверяет и ни чего не удаляет. Как сделать?

Игорь
12.10.2015, 11:41

Пусть ни чего не проверяет и ни чего не удаляет. Как сделать?
Это не отключается

Я вижу, что сейчас ни какой галки нет. Но это же какой-то код отрабатывает?! Его же можно подправить?

Михаил
21.10.2015, 15:17

а можно как то к вставленной картинке применить пресет изображения? например ватермарк

выбрать пресет в настройках шаблона

Константин Комелин
19.06.2016, 17:59

Спасибо за модуль, все остальное по загрузке картинок либо не для людей, либо из прошлого века.

Anastasia Zarankin
18.07.2016, 14:08

Проапдейтила до второй версии, все выглядит замечательно, но при нажатии на кнопку аплоада ничего не происходит. Ошибок джаваскрипта тоже нет. Просто ничего не происходит. Что это может быть?

Нет. В восьмёрке будет (или уже) из коробки поддерживаться drag&drop в ckeditor.

Спасибо за модуль!
а вставка remote url планируется?

Aydar Valeev
19.06.2017, 00:02

Пропадают картинки через 2-4 дня после загрузки. Может дело и не в OCUpload. Не связано с кроном, не связано с очисткой кеша. Галки Delete unused files в настройках во 2 версии нет.

Гость
27.03.2018, 01:22

Привет. Класный модуль.
А можно ли переопределить картинку (иконку) добавления файла или сделать просто текстовую надпись, что-то вроде "Добавить файл"?

Артур
07.11.2018, 05:47

Замечательный модуль, отличная альтернатива FCKeditor-у. Ставится в 2 клика, работает без проблем. Спасибо! Присоединяюсь к предыдущему вопросу, как можно поменять кнопку ocupload на панели CKeditor на свою?

Артур
14.11.2018, 13:40

При загрузке фото, в текстовый редактор попадает кусок текста: Chunk saved и больше ничего.

Роман
05.06.2019, 19:01

Добрый день.
Скажите пожалуйста, возможно ли вставлять картинки и файлы не в html-формате, а в bb-формате? Или это можно добиться только через модификацию кода данного модуля ?

В настройках шаблона пропишите любой html

Роман
06.06.2019, 07:38

К сожалению, такой подход не будет работать, если, к примеру, необходимо в одном случае использовать CKEditor, а в другом случае - BUEditor c bb-кодами.

Михаил
27.04.2020, 09:50

Подскажите, а есть возможность при вставки видео менять параметры окна(не через редактирование параметров в теге), а например через контекстное меню?

Функционал модуля ограничен залитием файлов и вставкой шаблона в поле. Больше он ничего не умеет и уметь уже не будет.

Из коробки там очень простой загрузчик в одну папку. К полям не привязывается картинка. Модули которые есть для D8 не решают те задачи, которые решает данный модуль. Подскажите пожалуйста, почему в D8 не планируется подобное решение?

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