iutbay / yii2-mm
Yii2 Media Manager Module
Installs: 1 256
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 5
Forks: 8
Open Issues: 6
Type:yii2-module
Requires
This package is not auto-updated.
Last update: 2024-11-24 03:40:19 UTC
README
This module provides a Media Manager integration to your Yii2 application. It is still in its early stages, but feel free to use it, report bugs, and contribute.
Demo
https://www.iutbayonne.univ-pau.fr/~klevron/mm/
Installation
The preferred way to install this module is through composer.
Either run
composer require "iutbay/yii2-mm" "*"
or add
"iutbay/yii2-mm" : "*"
to the require section of your application's composer.json
file.
Configuration
Add the following lines in your application configuration :
'components' => [ // ... 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ 'thumbs/<path:.*>' => 'mm/thumb/thumb', // ... ], ], // ... 'fs' => [ 'class' => 'creocoder\flysystem\LocalFilesystem', 'path' => '@webroot/upload', ], ], 'modules' => [ // ... 'mm' => [ 'class' => 'iutbay\yii2\mm\Module', ], ],
About Flysystem
This module use Flysystem (via creocoder/yii2-flysystem), a filesystem abstraction which allows you to easily swap out a local filesystem for a remote one.
You can use a local filesystem as described previously, you should then create an upload
folder in the web folder of your Yii2 application. You can also use any adapter provided by Flysystem, take a look at Flysystem and creocoder/yii2-flysystem.
WARNING : Actually, this module has only been tested with local, ftp and sftp adapters.
About image thumbnails
This module use Imagine (via yii2-imagine) to generate image thumbnails on demand, you should create a thumbs
folder in the web folder of your application.
Usage
MediaManagerInput
use iutbay\yii2\mm\widgets\MediaManagerInput; echo MediaManagerInput::widget([ 'name' => 'test', // input name 'multiple' => false, 'clientOptions' => [ 'api' => [ 'listUrl' => Url::to(['/mm/api/list']), // 'uploadUrl' => Url::to(['/mm/api/upload']), // 'downloadUrl' => Url::to(['/mm/api/download']), ], ], ]);
MediaManagerModal
use iutbay\yii2\mm\widgets\MediaManagerInputModal; echo MediaManagerInputModal::widget([ 'name' => 'test', // input name 'clientOptions' => [ 'api' => [ 'listUrl' => Url::to(['/mm/api/list']), // 'uploadUrl' => Url::to(['/mm/api/upload']), // 'downloadUrl' => Url::to(['/mm/api/download']), ], ], ]);