yii2实现Ueditor百度编辑器的示例代码

1. 概述

在 Yii2 中使用 UEditor 百度编辑器需要安装 handsoncode/yii2-ueditor 扩展。

UEditor 是一个开源可自定义配置富文本编辑器,包含配置项均可使用默认值。它具有轻量、易拓展、多语言、兼容性好等特点,被广泛应用于主流web开发环境中。

2. 扩展安装

安装扩展可以使用 Composer 自动安装,命令如下:

composer require "mihaildev/yii2-ckeditor:^5.0.0"

安装完成后,需要在配置文件中添加以下内容:

'modules'=>[

'editor' => [

'class' => 'mihaildev\ckeditor\Module',

'editorOptions' => [

'preset' => 'full',

'inline' => false,

]

],

],

'components'=>[

'view' => [

'class' => 'yii\web\View',

'on beforeRender' => function ($event) {

$event->sender->registerJs('CKEDITOR_BASEPATH = \'/ckeditor/\';');

},

],

],

在以上代码中,'mihaildev\ckeditor\Module' 表示具体安装的扩展名称,而 'CKEDITOR_BASEPATH' 则是为了 CKEditor 能正确引用资源文件而设置的。

3. 视图文件

在视图文件中加入以下内容:

use mihaildev\ckeditor\CKEditor;

use mihaildev\ckeditor\CKEditorAsset;

use mihaildev\elfinder\ElFinder;

use yii\helpers\Html;

$ckeditorOptions = ElFinder::ckeditorOptions('elfinder', [

'preset' => 'full',

'inline' => false

]);

echo $form->field($model, 'content')->widget(CKEditor::className(), [

'editorOptions' => $ckeditorOptions

]);

在以上代码中,'ElFinder' 指使用扩展 handsoncode/yii2-ckeditor 中的 elFinder 扩展,'elfinder' 是在使用 elFinder 扩展时指定的他的别名,'full' 是 CKEditor 的默认配置。

4. 控制器代码

在控制器代码中,需要使用以下代码在 action 中接收表单提交的内容。

$content = Yii::$app->request->post('content');

以上代码将获取 name 为 content 的表单提交数据。

注意事项

要想所有功能都正常,需要确保以下文件的可写、可执行权限(鉴于安全原因请仅对以下文件夹进行相应权限设置,如果您的应用程序是以 Apache 或 Nginx 的用户运行的话):

- /web/uploads/

- /vendor/mihaildev/yii2-ckeditor/src/assets

同时,要确保在使用嵌入式编辑器时(即 'inline' 选项为 true),前端页面的 '' 标签中必须包含以下代码:

其中 '/path/to/ckeditor/' 为 ckeditor.php 路径,该路径在使用 ElFinder 扩展时是指向 elFinderConnector.php 的。

后端开发标签