laravel-admin 插件 wangEditorV4版

laravel-admin 插件 wangEditor V4 版本富文本编辑器

======

2022-07-30 更新 laravel-admin extension wangEditor 5 富文本编辑器插件 beta 版 https://github.com/jonexyz/wang-editor-v5

======

首先声明,此插件是参照 https://github.com/laravel-admin-extensions/wangEditor 进行修改而来

其次,在原有基础上做了些改进,同一页面支持多个富文本编辑器,且可单独配置改富文本编辑器的配置项。

laravel-admin 插件的富文本编辑器插件本人相中了 wangEditor ,但是相关的插件好像许久都没人维护了,奈何就自己动手吧,根据 wangEditor 的插件的源码与 laravel-admin 中扩展开发的文档,完成了此V4版本的 wangEditor 富文本编辑器插件。

V4版本与V3相比,还是好用很多了。

使用方法,此插件仅使用与 laravel-admin 1.* 版本

1.安装扩展 composer require jonexyz/wang-editor-v4

2.发布静态资源包 php artisan vendor:publish --tag=jonexyz-wangEditorV4

3.配置富文本编辑器配置,参考如下 其中 default 表示默认配置, title 表示对字段为 title 的表单进行单独的富文本编辑器设置,

'extensions' => [ 'wang-editor-v4' => [ 'enable' => true, 'config' => [ 'default'=>[ 'uploadImgServer' => '/'.env('ADMIN_ROUTE_PREFIX', 'admin').'/upload', 'uploadImgMaxSize' => 3 * 1024 * 1024, // 将图片大小限制为 3M 'uploadFileName' => 'images[]', //定义上传的filename,即上传图片的名称 'height'=>500 ], 'title'=>[ 'height'=>100, 'menus' => [ 'head', 'bold', 'fontSize', ] ] ] ] ]

4.修改 \app\Admin\bootstrap.php 中设置删除数组中的 editor 字段

5.在form表单中使用它:

$form->editor('content');

6.图片上传默认使用base64格式化后与文本内容一起存入数据库,如果要上传图片到本地接口,可参照如下代码,另还需设置插件上传路径参数 uploadImgServer

<?php namespace App\Admin\Controllers; use Illuminate\Http\Request; use Encore\Admin\Controllers\AdminController; class CommonController extends AdminController { public function upload(Request $request) { $type = $request->get('type'); $dir_path = 'uploads/' . config('admin.upload.directory.image'); // 文件存储路径 $rule = ['jpg', 'png', 'gif']; //允许的图片后缀 if ($request->hasFile('images')) { $files = $request->file('images'); //接前台图片 $path = []; foreach ($files as $file) { $clientName = $file->getClientOriginalName(); // $tmpName = $file->getFileName(); // $realPath = $file->getRealPath(); $size = $file->getSize(); $entension = $file->getClientOriginalExtension(); if (!in_array($entension, $rule)) { continue; } $newName = md5(date("Y-m-d H:i:s") . $clientName) . "." . $entension; $path[] = [ 'path' => $file->move($dir_path, $newName), 'file_name' => $clientName, 'size' => $size ]; //$namePath = $url_path . '/' . $newName; //return $path; } $insert_data = []; foreach ($path as $p) { $file_path = str_replace("\\", "/", $p['path']->getPathname()); $data[] = config('APP.URL') . '/' . $file_path; $insert_data[] = [ 'file_name' => $p['file_name'], 'path' => $file_path, 'size' => $p['size'], 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ]; } return $res = ['errno' => 0, 'data' => $data]; } } }

水平有限,如有不当支持见谅。

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。