simialbi/yii2-elfinder

yii2 框架的 Elfinder 实现

安装: 646

依赖: 0

建议者: 0

安全: 0

星标: 7

关注者: 5

分支: 5

开放问题: 3

语言:SCSS

类型:yii2-extension

1.8.1 2021-08-02 07:01 UTC

README

本扩展将 jQuery elFinder 集成到 yii2 框架中(yii2 的方式:使用 elFinder 组件、行为、可配置对象、事件等)。此外,它阻止 jui/elfinder css 加载,并为 elfinder 提供自己的样式(基于 bootstrap3 / fontawesome scss 的样式)。

Latest Stable Version Total Downloads License Build Status

资源

安装

安装此扩展的首选方式是通过 composer

运行

$ php composer.phar require --prefer-dist simialbi/yii2-elfinder

或添加

"simialbi/yii2-elfinder": "*"

到你的 composer.json 文件的 require 部分

使用方法

设置模块

将模块 elfinder 添加到你的配置文件的模块部分

'modules' => [
	'elfinder' => [
		'class'          => 'simialbi\yii2\elfinder\Module',
		'options'        => [
			'default' => [
				'class'      => 'simialbi\yii2\elfinder\ElFinderOptions',
				'locale'     => 'de_DE.UTF-8',
				'maxTargets' => 0
			]
		],
		'connectionSets' => [
			'default' => [ // like elfinder roots
				[
					'class' => 'simialbi\yii2\elfinder\ElFinderConfigurationLocalFileSystem',
					'path'  => '@webroot/files',
					'URL'   => '@web/files'
				]
			]
		],
		'volumeBehaviors' => [
			'default' => [ // like elfinder plugins, add behaviors
				'as resizer'   => [
					'class'	    => 'simialbi\yii2\elfinder\behaviors\ImageResizeBehavior',
					'maxWidth'  => 1920,
					'maxHeight' => 1080,
					'quality'   => 70
				],
				'as optimizer' => [
					'class' => 'simialbi\yii2\elfinder\behaviors\ImageOptimizeBehavior'
				]
			]
		]
	]
]

示例用法

Elfinder 小部件

要在你的页面中包含一个 elfinder 实例,可以这样调用 elfinder 小部件

<?php
/* @var $this yii\web\View */

use simialbi\yii2\elfinder\widgets\ElFinder;

$this->title = 'elFinder';
$this->params['breadcrumbs'][] = $this->title;

?>
<div class="my-elfinder">
<?php
	// @see https://github.com/Studio-42/elFinder/wiki/Client-configuration-options-2.1
	echo ElFinder::widget([
		'instanceName' => 'default' // from module connectionSets/volumeBehaviors configuration (array key)
	]);
?>
</div>

可以使用来自 elfinder 客户端配置选项instanceName 来配置小部件。

ElFinderInput 小部件

要包含一个 elfinder 输入字段小部件,可以这样调用输入小部件

<?php
/* @var $this yii\web\View */

use simialbi\yii2\elfinder\widgets\ElFinderInput;

$this->title = 'elFinder';
$this->params['breadcrumbs'][] = $this->title;

?>
<div class="my-elfinder">
<?php
	// @see https://github.com/Studio-42/elFinder/wiki/Client-configuration-options-2.1
	echo ElFinderInput::widget([
		'name' => 'my-file',
		'value' => '/path/to/my/file.ext',
		'instanceName' => 'default'
	]);
	// or model like usage
	/* @var $form \yii\widgets\ActiveForm */
	/* @var $model \yii\base\Model */
	echo $form->field($model, 'my-file')->widget(
		ElFinderInput::className(),
		[
		   'instanceName' => 'default'
		]
	);
?>
</div>

许可证

yii2-elfinder 采用 MIT 许可证发布。有关详细信息,请参阅捆绑的 LICENSE