You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php namespace common\widgets\ueditor;
use Yii; use yii\web\View; use yii\helpers\Html; use yii\helpers\Url; use yii\helpers\Json; use yii\helpers\ArrayHelper; use yii\widgets\InputWidget;
use common\widgets\ueditor\assets\UeditorAsset;
class Ueditor extends InputWidget { /** * 编辑器传参配置(配置查看百度编辑器(ueditor)官方文档) */ public $options = []; /** * 编辑器默认基础配置 */ public $_init; public function init() { $this->id = $this->hasModel() ? Html::getInputId($this->model, $this->attribute) : $this->id; $this->_init = [ 'serverUrl' => Url::to(['ueditor']), 'lang' => (strtolower(\Yii::$app->language) == 'en-us') ? 'en' : 'zh-cn', ]; $this->options = ArrayHelper::merge($this->_init, $this->options); //parent::init();
} public function run() { $this->registerClientScript(); if ($this->hasModel()) { return Html::activeTextarea($this->model, $this->attribute, ['id' => $this->id]); } else { return Html::textarea($this->id, $this->value, ['id' => $this->id]); } } /** * 注册Js */ protected function registerClientScript() { UEditorAsset::register($this->view); $options = Json::encode($this->options); $script = "UE.getEditor('" . $this->id . "', " . $options . ")"; $this->view->registerJs($script, View::POS_READY); } }
|