bastarann/yii2kcfinder

此包最新版本(dev-master)没有提供许可证信息。

为Yii2的KCFinder

安装: 3

依赖: 0

建议: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2015-12-30 07:23 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:47:37 UTC


README

KCFinder for Yii2.

工作进展中...

安装

安装此辅助工具的最佳方式是通过 composer.

由于kcfinder包在packagist上没有稳定版本,您应该在您的 composer.json 文件中使用以下设置

"minimum-stability": "dev",
"prefer-stable": true,

然后,您可以选择执行以下操作:

php composer.phar require "bastarann/yii2kcfinder" "*"

或者添加

"bastarann/yii2kcfinder" : "*"

到您应用程序的 composer.json 文件的require部分。

小部件使用

没有模型

use bastarann\yii2kcfinder\KCFinderInputWidget;

echo KCFinderInputWidget::widget([
	'name' => 'image',
]);

带有模型和ActiveForm

use bastarann\yii2kcfinder\KCFinderInputWidget;

echo $form->field($model, 'images')->widget(KCFinderInputWidget::className(), [
	'multiple' => true,
]);

与2amigos/yii2-ckeditor-widget一起使用

您应该扩展 \dosamigos\ckeditor\CKEditor,例如

namespace app\widgets;

use yii\helpers\ArrayHelper;

use bastarann\yii2kcfinder\KCFinderAsset;

class CKEditor extends \dosamigos\ckeditor\CKEditor
{

	public $enableKCFinder = true;

	/**
	 * Registers CKEditor plugin
	 */
	protected function registerPlugin()
	{
		if ($this->enableKCFinder)
		{
			$this->registerKCFinder();
		}

		parent::registerPlugin();
	}

	/**
	 * Registers KCFinder
	 */
	protected function registerKCFinder()
	{
		$register = KCFinderAsset::register($this->view);
		$kcfinderUrl = $register->baseUrl;

		$browseOptions = [
			'filebrowserBrowseUrl' => $kcfinderUrl . '/browse.php?opener=ckeditor&type=files',
			'filebrowserUploadUrl' => $kcfinderUrl . '/upload.php?opener=ckeditor&type=files',
		];

		$this->clientOptions = ArrayHelper::merge($browseOptions, $this->clientOptions);
	}

}

然后,您应该使用会话变量设置KCFinder选项,例如

// kcfinder options
// http://kcfinder.sunhater.com/install#dynamic
$kcfOptions = array_merge(KCFinder::$kcfDefaultOptions, [
	'uploadURL' => Yii::getAlias('@web').'/upload',
	'access' => [
		'files' => [
			'upload' => true,
			'delete' => false,
			'copy' => false,
			'move' => false,
			'rename' => false,
		],
		'dirs' => [
			'create' => true,
			'delete' => false,
			'rename' => false,
		],
	],
]);

// Set kcfinder session options
Yii::$app->session->set('KCFINDER', $kcfOptions);