Laravel5.6中如何详细配置使用CKEditor5编辑器?

2026-06-10 01:393阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1404个文字,预计阅读时间需要6分钟。

Laravel5.6中如何详细配置使用CKEditor5编辑器?

Laravel 5.6 使用 CKEditor5 配置示例

本文将简要介绍如何在 Laravel 5.6 中配置和使用 CKEditor5 文本编辑器。以下为配置步骤和相关文件内容。

1. 安装 CKEditor5

首先,您需要在项目中安装 CKEditor5。可以通过 Composer 进行安装:

bash composer require CKEditor/ckeditor

2. 配置 CKEditor5

在 `resources/js` 目录下创建一个名为 `ckeditor.js` 的文件,并添加以下内容:

javascript import ClassicEditor from '@ckeditor/ckeditor5-classic'; import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials'; import UploadAdapter from '@ckeditor/ckeditor5-adapter-ckfinder/upload-adapter'; import CKFinder from '@ckeditor/ckeditor5-ckfinder';

ClassicEditor .create(document.querySelector('#ckeditor'), { plugins: [Essentials, UploadAdapter, CKFinder], uploadAdapter: (loader)=> { return new UploadAdapter(loader); } }) .catch(error=> { console.error(error); });

3. 配置文件上传

在 `config/app.php` 文件中,将 `CKFinder` 添加到 `providers` 数组:

php 'providers'=> [ // ... CKFinder硼接::class, ],

在 `config/app.php` 文件中,将 `CKFinder硼接` 添加到 `aliases` 数组:

php 'aliases'=> [ // ... 'CKFinder硼接'=> Facades\CKFinder硼接::class, ],

在 `config/ckeditor.php` 文件中,配置 CKFinder:

php 'finder'=> [ 'CKFinder硼接'=> [ 'uploadUrl'=> '/upload', 'baseUri'=> '/path/to/ckfinder', ], ],

4. 创建上传路由

在 `routes/web.php` 文件中,添加以下路由:

php Route::post('/upload', 'CKFinder硼接Controller@store');

5. 创建上传控制器

在 `app/Http/Controllers` 目录下创建一个名为 `CKFinder硼接Controller.php` 的文件,并添加以下内容:

php namespace App\Http\Controllers;

use Illuminate\Http\Request; use Facades\CKFinder硼接;

class CKFinder硼接Controller extends Controller { public function store(Request $request) { $file=$request->file('upload'); $file->move(public_path('uploads'), $file->getClientOriginalName());

return response()->json(['url'=> asset('uploads/' . $file->getClientOriginalName())]); } }

6. 在视图中使用 CKEditor5

在您的视图文件中,添加以下 HTML 代码:

然后在 `resources/js/app.js` 文件中,添加以下内容:

javascript require('./path/to/ckeditor.js');

现在,您已经成功在 Laravel 5.6 中配置和使用 CKEditor5 文本编辑器了。更多详细信息,请参考 Laravel 中文社区文档:[https://laravel-china.org/docs/laravel/5.6/requests/1367](https://laravel-china.org/docs/laravel/5.6/requests/1367)

本文实例讲述了Laravel5.6框架使用CKEditor5相关配置。分享给大家供大家参考,具体如下:

Laravel 相关配置

文件的上传与存储

参考文档:

laravel-china.org/docs/laravel/5.6/requests/1367#1d60f1
laravel-china.org/docs/laravel/5.6/filesystem/1390
docs.ckeditor.com/ckeditor4/latest/guide/dev_file_upload.html#response-file-uploaded-successfully

创建符号链接

php artisan storage:link

project/public/storage -> project/storage/app/public

修改配置文件config/filesystem.php

'default' => env('FILESYSTEM_DRIVER', 'public')

修改nginx和php的配置文件中上传内容大小的限制

#修改nginx配置文件 vim /usr/local/nginx/conf/nginx.conf docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html

CKEDITOR.replace('content',{ height:500, fileTools_requestHeaders : { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, isFileUploadSupported : true, filebrowserUploadUrl : '/create/uploadFile', language : 'zh-cn', });

Laravel-CSRF保护

相关文档:
laravel-china.org/docs/laravel/5.6/csrf/1365
docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fileTools_requestHeaders

首先,在页面head部分添加csrf参数

<!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}">

然后,为CKEditor编辑器的xhr请求增加请求头参数

fileTools_requestHeaders : { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }

隐藏“浏览服务器”按钮


“浏览服务器”按钮,用于实现对已上传文件的管理,可以借助CKFinder实现,由于目前没有该需求,并且引入该功能会导致文件安全问题,本文采用了隐藏该按钮的方案。

参考附录:ckeditor隐藏“浏览服务器”按钮

基本思路是从一下三个文件中,查找关键字browseServer,通过设置display属性隐藏该按钮。

ckeditor/plugins/image/dialogs/image.js
ckeditor/plugins/flash/dialogs/flash.js
ckeditor/plugins/link/dialogs/link.js

image

Laravel5.6中如何详细配置使用CKEditor5编辑器?

flash

link

附录:ckeditor隐藏“浏览服务器”按钮

由于ckeditor中的"上传图片""上传文件""上传FLASH” 三个功能中都有“浏览服务器”按钮,所以我们要修改3个JS文件,先打开ckeditor文件夹中的ckeditor\plugins\image\dialogs\image.js文件,CTRL+F,搜索"browseServer”,找到该词第一次出现的位置,在后面添加双引号内的内容",style:'display:none;'"。如下图:

再搜索"filebrowser",找到该词第二次出现的位置,如下图填入

CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击图片上传按钮后,你会发现浏览服务器按钮不见了。

下面去弄掉文件上传中的“浏览服务器”按钮。

打开ckeditor\plugins\link\dialogs\link.js文件,还是搜索"browseServer"第一次出现的地方,如下图插入双引号内的内容",style:'display:none;'"。

CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“链接”按钮后,你会发现“文件上传选项”中的浏览服务器按钮不见了。

最后弄掉上传FLASH中的浏览服务器按钮,打开ckeditor\plugins\flash\dialogs\flash.js文件,还是搜索"browseServer"第一次出现的地方,如上图位置处插入双引号内的内容",style:'display:none;'"。(这个和上面的几乎一样,就不截图了)。CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“上传FLASH”按钮后,你会发现浏览服务器按钮不见了。

至此,一个从前端到后台,浏览服务器被全面禁用了的ckeditor诞生了!

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

本文共计1404个文字,预计阅读时间需要6分钟。

Laravel5.6中如何详细配置使用CKEditor5编辑器?

Laravel 5.6 使用 CKEditor5 配置示例

本文将简要介绍如何在 Laravel 5.6 中配置和使用 CKEditor5 文本编辑器。以下为配置步骤和相关文件内容。

1. 安装 CKEditor5

首先,您需要在项目中安装 CKEditor5。可以通过 Composer 进行安装:

bash composer require CKEditor/ckeditor

2. 配置 CKEditor5

在 `resources/js` 目录下创建一个名为 `ckeditor.js` 的文件,并添加以下内容:

javascript import ClassicEditor from '@ckeditor/ckeditor5-classic'; import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials'; import UploadAdapter from '@ckeditor/ckeditor5-adapter-ckfinder/upload-adapter'; import CKFinder from '@ckeditor/ckeditor5-ckfinder';

ClassicEditor .create(document.querySelector('#ckeditor'), { plugins: [Essentials, UploadAdapter, CKFinder], uploadAdapter: (loader)=> { return new UploadAdapter(loader); } }) .catch(error=> { console.error(error); });

3. 配置文件上传

在 `config/app.php` 文件中,将 `CKFinder` 添加到 `providers` 数组:

php 'providers'=> [ // ... CKFinder硼接::class, ],

在 `config/app.php` 文件中,将 `CKFinder硼接` 添加到 `aliases` 数组:

php 'aliases'=> [ // ... 'CKFinder硼接'=> Facades\CKFinder硼接::class, ],

在 `config/ckeditor.php` 文件中,配置 CKFinder:

php 'finder'=> [ 'CKFinder硼接'=> [ 'uploadUrl'=> '/upload', 'baseUri'=> '/path/to/ckfinder', ], ],

4. 创建上传路由

在 `routes/web.php` 文件中,添加以下路由:

php Route::post('/upload', 'CKFinder硼接Controller@store');

5. 创建上传控制器

在 `app/Http/Controllers` 目录下创建一个名为 `CKFinder硼接Controller.php` 的文件,并添加以下内容:

php namespace App\Http\Controllers;

use Illuminate\Http\Request; use Facades\CKFinder硼接;

class CKFinder硼接Controller extends Controller { public function store(Request $request) { $file=$request->file('upload'); $file->move(public_path('uploads'), $file->getClientOriginalName());

return response()->json(['url'=> asset('uploads/' . $file->getClientOriginalName())]); } }

6. 在视图中使用 CKEditor5

在您的视图文件中,添加以下 HTML 代码:

然后在 `resources/js/app.js` 文件中,添加以下内容:

javascript require('./path/to/ckeditor.js');

现在,您已经成功在 Laravel 5.6 中配置和使用 CKEditor5 文本编辑器了。更多详细信息,请参考 Laravel 中文社区文档:[https://laravel-china.org/docs/laravel/5.6/requests/1367](https://laravel-china.org/docs/laravel/5.6/requests/1367)

本文实例讲述了Laravel5.6框架使用CKEditor5相关配置。分享给大家供大家参考,具体如下:

Laravel 相关配置

文件的上传与存储

参考文档:

laravel-china.org/docs/laravel/5.6/requests/1367#1d60f1
laravel-china.org/docs/laravel/5.6/filesystem/1390
docs.ckeditor.com/ckeditor4/latest/guide/dev_file_upload.html#response-file-uploaded-successfully

创建符号链接

php artisan storage:link

project/public/storage -> project/storage/app/public

修改配置文件config/filesystem.php

'default' => env('FILESYSTEM_DRIVER', 'public')

修改nginx和php的配置文件中上传内容大小的限制

#修改nginx配置文件 vim /usr/local/nginx/conf/nginx.conf docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html

CKEDITOR.replace('content',{ height:500, fileTools_requestHeaders : { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, isFileUploadSupported : true, filebrowserUploadUrl : '/create/uploadFile', language : 'zh-cn', });

Laravel-CSRF保护

相关文档:
laravel-china.org/docs/laravel/5.6/csrf/1365
docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fileTools_requestHeaders

首先,在页面head部分添加csrf参数

<!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}">

然后,为CKEditor编辑器的xhr请求增加请求头参数

fileTools_requestHeaders : { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }

隐藏“浏览服务器”按钮


“浏览服务器”按钮,用于实现对已上传文件的管理,可以借助CKFinder实现,由于目前没有该需求,并且引入该功能会导致文件安全问题,本文采用了隐藏该按钮的方案。

参考附录:ckeditor隐藏“浏览服务器”按钮

基本思路是从一下三个文件中,查找关键字browseServer,通过设置display属性隐藏该按钮。

ckeditor/plugins/image/dialogs/image.js
ckeditor/plugins/flash/dialogs/flash.js
ckeditor/plugins/link/dialogs/link.js

image

Laravel5.6中如何详细配置使用CKEditor5编辑器?

flash

link

附录:ckeditor隐藏“浏览服务器”按钮

由于ckeditor中的"上传图片""上传文件""上传FLASH” 三个功能中都有“浏览服务器”按钮,所以我们要修改3个JS文件,先打开ckeditor文件夹中的ckeditor\plugins\image\dialogs\image.js文件,CTRL+F,搜索"browseServer”,找到该词第一次出现的位置,在后面添加双引号内的内容",style:'display:none;'"。如下图:

再搜索"filebrowser",找到该词第二次出现的位置,如下图填入

CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击图片上传按钮后,你会发现浏览服务器按钮不见了。

下面去弄掉文件上传中的“浏览服务器”按钮。

打开ckeditor\plugins\link\dialogs\link.js文件,还是搜索"browseServer"第一次出现的地方,如下图插入双引号内的内容",style:'display:none;'"。

CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“链接”按钮后,你会发现“文件上传选项”中的浏览服务器按钮不见了。

最后弄掉上传FLASH中的浏览服务器按钮,打开ckeditor\plugins\flash\dialogs\flash.js文件,还是搜索"browseServer"第一次出现的地方,如上图位置处插入双引号内的内容",style:'display:none;'"。(这个和上面的几乎一样,就不截图了)。CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“上传FLASH”按钮后,你会发现浏览服务器按钮不见了。

至此,一个从前端到后台,浏览服务器被全面禁用了的ckeditor诞生了!

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。