На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Плагин загрузки файлов upload_editor

Плагины » Файловые менеджеры / 29 января 2016

Начиная с версии 0.94 в MaxSite появилась возможность загружать файлы при редактировании записей без необходимости переходить на страницу загрузки. Но вот при СОЗДАНИИ записей такой возможности нет. Upload_editor добавляет возможность загрузить файл из редактора без перезагрузки страницы при создании новой записи.

Особенности работы плагина

Суть проблемы

Загрузка файлов к страницам идёт в папку /uploads/_pages/××× , где ××× — id страницы (т.е. её номер). Основная сложность заключается в том, что пока запись не сохранена — у неё ещё нет id. И следовательно, неизвестно заранее, в какую папку нужно загружать файлы.

Решение

Поэтому придуман такой трюк: в настройках плагина задаётся временная папка, например tempfiles , _temp или как вам будет угодно. Допускаются вложенные папки.

При нажатии на кнопку «Быстрая загрузка », открывается панель загрузки файлов, знакомая вам по пункту меню «Загрузки ». Там вы можете указать, создавать или не создавать миниатюры, указать размеры изображений и миниатюр, указать, ставить ли на картинки водяной знак и если ставить, то куда.

После чего выбираете файл, который хотите загрузить (можно перетащить файл из другого окна на кнопку «Обзор ») и загрузка файла начнётся немедленно без перезагрузки страницы.

Самое интересное идёт следом. Файлы загружаются в промежуточную папку, указанную в настройках плагина. Под редактором появляются миниатюры этих файлов, всё как обычно. Вы можете вставлять в текст страницы ссылки, картинки и т.д.. Вы можете задать миниатюру записи (и вообще везде в дополнительных мета-полях задавать эти ссылки). А потом, когда нажимается кнопка сохранения страницы, происходит следующее:

  1. Страница сохраняется (как обычно).
  2. У уже сохранённой страницы есть номер, т.е. для неё уже известна папка /uploads/_pages/××× — плагин перемещает загруженные файлы из временной папки в постоянную.
  3. Плагин редактирует текст страницы — меняет все ссылки на файлы во временной папке, чтобы они указывали на новое место.
  4. Плагин редактирует мета-поля — везде, где встречает ссылки на временную папку, меняет на место постоянной локации.
  5. Плагин удаляет из временной папки служебные файлы.

Нюансы реализации

Немного о служебных файлах. При создании страницы во временной папке создаётся файл сессии с именем наподобии e95c380c512cc3986c7dbb0b6a71ceb8.sessid . Затем при загрузке каждого файла появляется ещё один файл с именем оригинальное_имя.расширение.e95c380c512cc3986c7dbb0b6a71ceb8 . Эти файлы нужны, чтобы определить, к какой создаваемой странице относятся загружаемые файлы. Ведь возможна ситуация, когда несколько человек в админке одновременно создают несколько новых страниц. К сожалению, эти «лишние» файлы отображаются в общем списке. На первом скриншоте можно увидеть кроме картинки ещё два файла — это те самые служебные файлы.

Скачать

Автор: Wave

Текущая версия плагина: 1.0 (работает на cms от 0.90).

Также есть реализация этой загрузки для создания и редактирования страниц (без разделения) для cms версии 0.86 (и скорей всего нескольких более ранних), оформленная не в виде плагина, а как доработка штатных файлов системы. Не вижу надобности выкладывать эти файлы. Если у вас старая версия движка, то логичней обновить её, но при невозможности сделать это — пишите, если окажется, что доработка нужна общественности, она здесь появится.

upload_editor_1_0.zip12

Официальная страница плагина.

ToDo

На данный момент в списке возможных доработок плагина два пункта:

  1. Сделать так, чтобы служебные файлы не отображались и соответственно, не мешались в списке файлов.
  2. Изменить загрузку файлов с текущего варианта на тот, который в итоге появился в движке — многопоточный, срабатывающий на перетаскивание файлов из другого окна.

Аналог

Плагины аналогичного назначения — это редакторные плагины со встроенной загрузкой файлов, а также стандартный функционал загрузки файлов при редактировании страниц.

Комментариев: 4
  1. Благодарю. Скачал.

  2. Использую плагин визуального редактора Imperavi, где нет проблемы с созданием временных папок - там автоматом грузит картинки в папки, соответствующие год-месяц загрузки (приемер: /uploads/2016/01/) , не вижу необходимости привязывать картинки к странице, так как на нескольких страницах может использоваться одна и та же картинка.

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

  3. wink отличный плагин, мои благодарности . Будет очень полезен.

  4. Поставил - работает. Благодарю