Module Media
Описание
Универсальный блок для управления медиа-контентом: фото, видео, аудио и прочие файлы. Функционал должен позволять подключать данный модуль к другим модулям. К примеру, для модуля статических страниц необходим функционал по заливке и выбору картинок из WYSIWYG редактора, при этом должен учитываться уровень доступа, который может учитывать как разрешения по модулю, так и по пользователю:
- все файлы залитые для статических страниц, должны быть доступны всем пользователям, кто имеет доступ к управлению статическими страницами
- все файлы залитые одним пользователем должны быть доступны для выбора во всех модулях, где нужен данный функционал
Настройки
Используя конфигурационный файл можно указать директорию для хранения загружаемых файлов:
return array( 'upload_path' => PATH_PUBLIC.'/tests/uploads' );
Использование
На данный момент реализована работа только с изображениями.
Для подключения менеджера картинок можно использовать следующий:
<a id="upload" href="<?=$this->url('media', 'manager')?>" class="thumbnail dialog">Choose or upload image</a>
При клике по данной ссылке будет открыт диалог загрузки/выбора изображения из тех, что доступны пользователю. Если в появившемся менеджере кликнуть на картинку, то сработает событие push.data.bluz, где в качестве данных будет передаваться объект Application\Media\Row:
require(['jquery'], function($) { $('a.thumbnail').on('push.data.bluz', function(event, data) { // send to server for update avatar // all information about image inside data console.log(data); // hide modal dialog $(this).data('modal').modal('hide'); }); });