dev-master
9999999-dev https://github.com/bastarann/yii2kcfinderKCFinder for Yii2
The Requires
by Kevin LEVRON
extension yii2 kcfinder
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