Download the PHP package vis/artur_image_storage_l5 without Composer
On this page you can find all versions of the php package vis/artur_image_storage_l5. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vis/artur_image_storage_l5
More information about vis/artur_image_storage_l5
Files in vis/artur_image_storage_l5
Package artur_image_storage_l5
Short Description Image storage for L5
License proprietary
Informations about the package artur_image_storage_l5
Image Storage
Пакет-медиахранилище для Laravel 5.4 предназначенный работы с изображением, видео и документами.
Разделы
- Установка
- VIS-CMS
- Настройка конфигов
- Конфиг изображений
- Конфиг документов
- Конфиг видео
- Конфиг видео API
- Спецификация и примеры
- Общая спецификация
- Использование изображений
- Использование фотогалереи
- Использование документов
- Использование видео
- Использование видео API
- Использование видеогалереи
- Использование тэгов
- Кэширование
- Особенности управление в VIS CMS
- Общее управление
- Общее управление для изображений, видео и документов
- Управление изображениями
- Управление видео
- Управление документами
- Общее управление для фотогалерей и видеогалерей
Установка
Выполняем
Добавляем в config\app.php в массив providers
Выполняем миграцию таблиц
Публикуем config, js, css, images
VIS-CMS
В файле config/builder/admin.php в массив menu в настройки добавляем
Добавляем права доступа в config/builder/tb-definitions/groups.php и добавляем их к группам.
Настройка конфигов
Все конфиги содержат 3 основных настройки:
Настройка title указывающее на имя раздела отображаемое в VIS-CMS
Настройка per_page указывающее количество записей отображаемых на странице в VIS-CMS
Настройка fields соддержащее набор полей, которые будут выводиться в форме редактирования записи. Значения: text, textarea,checkbox, select, datetime. Определяются как и в VIS-CMS. Поддерживается динамическое создание новых полей и табов
Конфиг изображений
Настройки валидации загружаемых изображений. В ошибки автоматически подставляются значения 'max_size' и 'extension_list'
Настройка качества для загружаемых JPG изображений. Значение: 0-100
Настройка использования класса Vis\Builder\OptimizationImg для оптимизации загруженных изображений. Значение: true\false
Настройка использования исходного названия изображения для поля title. Значение: true\false
Настройка хранения метаданных изображения в базе данных. Применятся функция exif_read_data, данные хранятся в формате json. Значение: true\false
Настройка удаления файлов изображений при удалении сущности изображения. Значение: true\false
Настройка переименования файлов изображений при переименовании сущности изображения. Значение: true\false
Настройка отображения кнопки генерации новых размеров для записей. Применяется при необходимости сгененировать новый размер для уже существующих записей. Значение: true\false
Настройка генерируемых размеров изображений. Позволяет при загрузке изображений автоматически генерировать изображение в других размерах. Использует пакет для работы с изображениями Intervention. Модифицировать изображение можно в помощью настройки Modify принимающей параметры Intervention
Конфиг документов
Все параметры настройки аналогичны изображениям, кроме Настройка позволяющая хранить несколько файлов под одной сущности "документа". Может быть использовано когда необходимо выводить разные файлы на разных языках сайта При загрузке документа во все размеры устанавливается ссылка на исходный файл, которую потом можно заменить
Конфиг видео
В массиве настройки fields два обязательных поля отвечающие за сервис и идентификатор видео
Конфиг видео API
Настройка управляющая отправление запрос к видео API, которые требуют ключи Значение: true\false
Настройка времени кэширования ответа от видео API Значение: x, 0 (прим. 0 - вечность), false
Настройка автоматического заполнения полей title&description из ответа видео API Значение: true\false
Настройка имен провайдеров предоставляющих видео API. Выводится в select создании\редактировании видео
Настройка провайдеров предоставляющих видео API
Настройки каждого из видео API провайдеров
Настройка проверки существования видео на сервисе (не требует ключа API)
Настройка ссылки на изображение-превью на сервисе (не требует ключа API)
Настройка качества изображения-превью на сервисе
Настройка ссылки на просмотр видео (не требует ключа API)
Настройка ссылки на встраиваемое видео (не требует ключа API)
Настройка ссылки на сервис API
Настройка данных которые будут запрошены у сервиса API
Настройка ключа для подключения к сервису API
Спецификация и примеры
Общая спецификация
Для подключения необходимого нужно определить его вызов в начале своего класса.
Ко всем моделям можно применять стандартный принцип написания запросов, поскольку они наследуются от модели Eloquent. Так же все модели используют трейты VIS CMS \Vis\Builder\Helpers\Traits\TranslateTrait и \Vis\Builder\Helpers\Traits\SeoTrait
Для всех записей генерируется уникальных слаг, его значение можно получить с помощью метода
Общие scope фильтры для всех моделей (\Models\Traits\FilterableTrait.php) Фильтр сортировки по id.
Фильтр выведения только активных записей.
Фильтр выведения записей согласна массива активностей Значение: массив $activity[0,1]
Фильтр по slug записи
Фильтр по title записи
Фильтр по дате создания записи. Значение: массив $date['from' => '', to => '']
Фильтр по связанным тэгам. Значение: массив $tags[$idTags]
Eloquent связь с тэгами. Получает все связанные тэги с сущностями
Использование изображений
Eloquent связь с галереями. Получает все связанные галереи с изображением
Фильтр изображений по галереям. Значение: массив $galleries[$idGalleries]
Метод получения ссылки на изображение по именному роуту. Роут необходимо определить самостоятельно
Наследует от абстракции src/Models/AbstractImageStorageFile.php следующие методы Получить путь изображения в указанном размере Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить разрешение файла изображения Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить название файла изображения Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить размер файла изображения Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить mime-type файла изображения Значение: один из указаных в конфиге размеров, по умолчанию - source
Использование фотогалереи
Eloquent связь с изображения. Получает все связанные изображения с галереей
Фильтр галерей по наличию изображений
Фильтр галерей по наличию активных изображений
Метод получения ссылки на галерею по именному роуту. Роут необходимо определить самостоятельно
Метод получения превью-изображения для галереи Значение: один из указаных в конфиге изображений размеров, по умолчанию - cms_preview
Использование документов
Наследует от абстракции src/Models/AbstractImageStorageFile.php следующие методы Получить путь документа в указанном размере Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить разрешение файла документа Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить название файла документа Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить размер файла документа Значение: один из указаных в конфиге размеров, по умолчанию - source
Получить mime-type файла документа Значение: один из указаных в конфиге размеров, по умолчанию - source
Использование видео
Eloquent связь с изображением-превью. Получает объект установленного изображения-превью
Eloquent связь с изображения. Получает все связанные изображения с галереей
Связь с API провайдером. Получает объект API provider в зависимости от типа видео.
Фильтр видео по видеогалереям галереям. Значение: массив $galleries[$idGalleries]
Метод получения id видео
Метод получения ссылки на видео по именному роуту. Роут необходимо определить самостоятельно
Метод получения ссылки на изображение-превью видео. Получает или установленное изображение-превью или обращается API за изображением.
Использование видео API
Видео API реализует интерфейс /Models/Interfaces/VideoAPIInterface.php и имеет следующие методы
Метод получения ссылки на видео
Метод получения ссылки на встраиваемое видео
Метод получения ссылки на изображени-превью из API
Метод получения всех данных о видео из API
Метод получения названия видео из API
Метод получения описание видео из API
Метод получения количества просмотров видео из API
Метод получения количества лайков видео из API
Метод получения количества дизлайков видео из API
Метод получения количества favorite для видео из API
Метод получения количества комментариев для видео из API
Использование видеогалереи
Eloquent связь с видео. Получает все связанные видео с видеогалереей
Фильтр видеогалерей по наличию изображений
Фильтр видеогалерей по наличию активных видео
Метод получения ссылки на видеогалерею по именному роуту. Роут необходимо определить самостоятельно
Использование тэгов
Eloquent связь с изображения. Получает все связанные изображения с тэгом
Eloquent связь с документами. Получает все связанные изображения с тэгом
Eloquent связь с видео. Получает все связанные изображения с тэгом
Eloquent связь с галереями. Получает все связанные изображения с тэгом
Eloquent связь с видеогалереями. Получает все связанные изображения с тэгом
Кэширование
Медиахранилище использует ряд тегов для работы кэширования. При внесении измений в записи медиахранилища происходит автоматическое сбрасывание существующего кэша связанного с этими тегами. Перечень тэгов для каждой из сущностей:
- image-storage.video
- image-storage.document
- image-storage.video_gallery
- image-storage.gallery
- image-storage.image
- image-storage.tag
Особенности управление в VIS CMS
Общее управление
Интерфейс максимально приближен к интерфейсу VIS-CMS. В шапке каждого из разделов находится инструментальная панель с фильтами(с некоторым уникальными для разделов) и кнопкой создания новой записи, которая вызовет модальное окно создания. В нижней части страницы находится пагинация
Общее управление для изображений, видео и документов
При клике на уже добавленный объект вызовется модальное окно редактирования записи Которое содержит вкладки размеров и поля указанные в соотв. конфиге. Возможно прямо управление связями конктретного изображения.
При выделении области с объектами будет отображена панель множественного управления объектами. После выделения область возможно точечное добавление\удаление объектов с помощью нажатия на них мышкой при зажатой кнопке ctrl.
Управление изображениями
При клике на поле "Загрузить изображение" появится окон выбора загружаемых изображений. Поддерживается множественная загрузка изображений. После загрузки всех изображений и созданиях их дополнительных размеров будет отправлен запрос на их оптимизацию. Если какое-либо из сгенирированных изображений-размеров не устаривает, тогда его можно заменить в вкладке этого размера.
Управление видео
При создании нового видео достаточно указать видео сервис и идентификатор видео. Если видео существует - оно будет добавлено в общий список. Поля title и description автоматически будут заполнены, если установлена соотв. настройка в конфиге. Если изображение-превью предоставляемое видео сервисом не устаривает, тогда можно загрузить собственное в вкладке "Превью".
Управление документами
При клике на поле "Загрузить документ" появится окон выбора загружаемых документов. Поддерживается множественная загрузка документов. После загрузки всех документов во все дополнительные поля файлов будет установлена ссылка на исходный файл. Если есть необходимость заменить файл для какого-либо из размеров, тогда его можно заменить в вкладке этого размера.
Общее управление для фотогалерей и видеогалерей
После создания галереи и добавления изображений\видео в неё возможно управление порядком изображений\видео путем перетягивания их между собой. Возможно установление одного из изображений\видео как превью для галереи с помощью нажатия на него мышкой при зажатой кнопке ctrl.