iutbay /

该软件包最新版本(0.0.1)没有可用的许可证信息。

Yii2 的 KCFinder

安装次数: 38,950

依赖项: 6

建议者: 0

安全: 0

星标: 22

关注者: 5

分支: 19

开放问题: 17

类型:yii2-extension

0.0.1 2014-11-28 10:23 UTC

This package is not auto-updated.

Last update: 2024-09-13 11:39:27 UTC


README

KCFinder for Yii2。

警告:我实际上没有时间维护这个仓库,但可以看看这里(进行中)...

安装

安装此辅助工具的首选方式是通过 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);