dev-master
9999999-dev https://github.com/bastarann/yii2kcfinderKCFinder for Yii2
The Requires
by Kevin LEVRON
extension yii2 kcfinder
Wallogit.com
2017 © Pedro Peláez
KCFinder for Yii2
KCFinder for Yii2., (*1)
WIP..., (*2)
The preferred way to install this helper is through composer., (*3)
Since kcfinder package do not have stable release on packagist, you should use these settings in your composer.json file :, (*4)
"minimum-stability": "dev", "prefer-stable": true,
After, either run, (*5)
php composer.phar require "bastarann/yii2kcfinder" "*"
or add, (*6)
"bastarann/yii2kcfinder" : "*"
to the require section of your application's composer.json file., (*7)
Without model :, (*8)
use bastarann\yii2kcfinder\KCFinderInputWidget;
echo KCFinderInputWidget::widget([
'name' => 'image',
]);
With model and ActiveForm :, (*9)
use bastarann\yii2kcfinder\KCFinderInputWidget;
echo $form->field($model, 'images')->widget(KCFinderInputWidget::className(), [
'multiple' => true,
]);
You should extend \dosamigos\ckeditor\CKEditor, e.g. :, (*10)
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);
}
}
You should then set KCFinder options using session var, e.g. :, (*11)
// 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);
KCFinder for Yii2
extension yii2 kcfinder