djozsef/yii2-kcfinder

此包最新版本(0.0.2)没有可用的许可信息。

Yii2 的 KCFinder

安装: 87

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 19

类型:yii2-extension

0.0.2 2017-12-23 16:32 UTC

This package is auto-updated.

Last update: 2024-09-13 12:31:53 UTC


README

KCFinder for Yii2.

警告:我实际上没有时间维护这个仓库,但请看这里(WIP)...

安装

安装此辅助工具的首选方式是通过 composer

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

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

之后,您可以执行以下操作之一

php composer.phar require "iutbay/yii2-kcfinder" "dev-master"

或者添加

"iutbay/yii2-kcfinder" : "dev-master"

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

小部件使用

没有模型

use iutbay\yii2kcfinder\KCFinderInputWidget;

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

带有模型和 ActiveForm

use iutbay\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 iutbay\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);