public function init() { parent::init(); $view = $this->getView(); $id = Json::encode($this->options['id']); if ($this->enabledKCFinder) { $kcFinderBundle = KCFinderAsset::register($view); $kcFinderBaseUrl = $kcFinderBundle->baseUrl; // Add KCFinder-specific config for CKEditor $this->editorOptions = ArrayHelper::merge($this->editorOptions, ['filebrowserBrowseUrl' => $kcFinderBaseUrl . '/browse.php?opener=ckeditor&type=files', 'filebrowserImageBrowseUrl' => $kcFinderBaseUrl . '/browse.php?opener=ckeditor&type=images', 'filebrowserFlashBrowseUrl' => $kcFinderBaseUrl . '/browse.php?opener=ckeditor&type=flash', 'filebrowserUploadUrl' => $kcFinderBaseUrl . '/upload.php?opener=ckeditor&type=files', 'filebrowserImageUploadUrl' => $kcFinderBaseUrl . '/upload.php?opener=ckeditor&type=images', 'filebrowserFlashUploadUrl' => $kcFinderBaseUrl . '/upload.php?opener=ckeditor&type=flash', 'allowedContent' => true]); } $jsData = "CKEDITOR.replace({$id}"; $jsData .= empty($this->editorOptions) ? '' : ', ' . Json::encode($this->editorOptions); $jsData .= ").on('blur', function(){this.updateElement(); jQuery(this.element.\$).trigger('blur');});"; $view->registerJs($jsData); CKEditorAsset::register($view); }
public function run() { $assets = KCFinderAsset::register($this->getView()); if (!isset($this->kcOptions['url'])) { $this->kcOptions['url'] = $assets->baseUrl; } if ($this->hasModel()) { KCFinderSelectAsset::register($this->getView()); Html::addCssClass($this->options, 'form-control'); echo Html::beginTag('div', ['class' => 'input-group']); echo Html::activeTextInput($this->model, $this->attribute, $this->options); } else { echo Html::textInput($this->name, $this->value, $this->options); } echo Html::beginTag('span', ['class' => 'input-group-btn']); $this->kcOptions['callback'] = $this->kcCallback; echo Html::beginTag('button', ['class' => "btn btn-{$this->buttonType}", 'type' => 'button', 'onclick' => 'selectSingle(' . Json::htmlEncode($this->kcOptions) . ')']); echo $this->buttonLabel; echo Html::endTag('button'); echo Html::endTag('span'); echo Html::endTag('div'); }