Dcat Admin 2 集成富文本编辑器 wangEditor 5

news2024/12/29 15:56:03

由于默认的 TinyMCE 个人不是很喜欢,所以替换成国产的富文本编辑器 wangEditor

Dcat Admin 文档示例:集成富文本编辑器 wangEditor

但是官方的示例是针对 wangEditor 4 编写的,这里仅指出对版本 5 的差异部分

获取文件

将以下三个文件保存到本地:

  1. https://unpkg.com/@wangeditor/editor@latest/dist/index.js
  2. https://unpkg.com/@wangeditor/editor@latest/dist/index.js.map
  3. https://unpkg.com/@wangeditor/editor@latest/dist/css/style.css

在国内如果需要节省服务器资源而选择 CDN,可以参考下方两个:

  1. Staticfile CDN,点击打开官网
    https://cdn.staticfile.org/wangeditor5/5.1.23/index.min.js
    https://cdn.staticfile.org/wangeditor5/5.1.23/css/style.min.css
  2. BootCDN,点击查看版本
    https://cdn.bootcdn.net/ajax/libs/wangeditor5/5.1.23/index.min.js
    https://cdn.bootcdn.net/ajax/libs/wangeditor5/5.1.23/css/style.min.css

创建视图文件

按照 Dcat Admin 文档编写 WangEditor 类并继承自 \Dcat\Admin\Form\Field

resources/views 下,创建一个喜欢的路径并创建 wang-editor.blade.php 文件,例如:resources/views/admin/editor/wang-editor.blade.php

修改 WangEditor 类的成员变量 view

<?php

namespace App\Admin\Extensions\Form;

use Dcat\Admin\Form\Field;

class WangEditor extends Field {

    protected $view = 'admin.editor.wang-editor';
}

编写 wang-editor.blade.php,内容如下:

<style>
    #wang-editor—wrapper {
        border: 1px solid #e1e8ea;
        border-radius: .25rem;
        box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
    }
</style>

<div class="{{ $viewClass['form-group'] }}">

    <label class="{{ $viewClass['label'] }} control-label">{!! $label !!}</label>

    <div class="{{ $viewClass['field'] }}">

        @include('admin::form.error')

        <div id="wang-editor—wrapper">
            <div id="toolbar-container"></div>
            <div {!! $attributes !!} style="height: 100%; min-height: 300px;"></div>
        </div>

        <!--suppress HtmlFormInputWithoutLabel -->
        <textarea class="hidden" name="{{ $name }}">{{ $value }}</textarea>

        @include('admin::form.help-block')

    </div>
</div>

<!-- The init attribute will auto invoked Dcat.init() method to listen elements generate -->
<!--suppress HtmlUnknownAttribute -->
<script require="@wang-editor" init="{!! $selector !!}">
    const {createEditor, createToolbar} = window.wangEditor;
    const editorConfig = {
        placeholder: '在此输入文字或通过工具栏插入相关内容...',
        onChange(editor) {
            $this.parents('.form-field').find('textarea[name="{{ $name }}"]').val(editor.getHtml());
        }
    }

    const editor = createEditor({
        selector: '#' + id,
        config: editorConfig,
        mode: 'default',
        html: '{!! $value !!}'
    })

    const toolbarConfig = {}

    const toolbar = createToolbar({
        editor,
        selector: '#toolbar-container',
        config: toolbarConfig,
        mode: 'default',
    })
</script>

自定义工具栏或编辑器相关 API 参阅文档即可:https://www.wangeditor.com/v5

修改 bootstrap.php

编辑 app/Admin/bootstrap.php 文件,在其中加入以下两行:

Admin::asset()->alias('@wang-editor', [
    // 此处如需使用本地文件,将之前下载的 3 个文件放到喜欢的路径下
    // 路径相对 public 目录,将下方 URL 替换为 /vendor/dcat-admin/dcat/plugins/wangEditor/index.js 类似路径即可
    'js' => ['https://cdn.staticfile.org/wangeditor5/5.1.23/index.min.js'],
    'css' => ['https://cdn.staticfile.org/wangeditor5/5.1.23/css/style.min.css'],
]);

Form::extend('editor', WangEditor::class);

表单使用

仍然使用 editor 方法即可:

$form->editor('column_name');

示例图

example

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快码住! 结构体内存对齐(计算结构体大小) 干货满满!

文章目录 结构体内存对齐规则结构体大小计算为什么存在内存对齐&#xff1f;设计结构体的技巧如何修改默认对齐数&#xff1f; 结构体内存对齐规则 我们知道&#xff0c;整型变量有自己的大小&#xff0c;浮点型变量有自己的大小&#xff0c;数组也有自己的大小&#xff0c;那…

血流动力学与血压(一)--平均动脉压

平均动脉压 在血管血流动力学研究中&#xff0c;心血管系统通常被认为是一个简单的液压回路&#xff0c;由泵&#xff08;心脏&#xff09;组成&#xff0c;泵&#xff08;心脏&#xff09;有节奏地活动&#xff08;收缩 --> 舒张 --> 收缩 --> 舒张 --> 收缩…&am…

中国一重集中采购平台的建设经历和亮点

中国一重前身为第一重型机器厂&#xff0c;是“一五”期间建设156项重点工程项目之一&#xff0c;始建于1954年&#xff0c;是中央管理的涉及国家安全和国民经济命脉的国有重要骨干企业之一&#xff0c;是国家创新型试点企业、国家高新技术企业&#xff0c;拥有国家级企业技术中…

java 校园管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 JSP 校园管理系统 是一套完善的系统源码&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;以及相应配套的设计文档&#xff0c;系统主要采用B/S模式开发。 研究的基本内容是基于Web的校园管理系统&…

访问不到阿里云服务器端口

这里前台在主机上 然后访问服务器上的node后台 一直访问不到 不能连入阿里云服务器后台 连不上公网ip端口 解决方案 登录阿里云 进入云服务器 2、管理控制台 3、网络与安全——>安全组 4、安全组里面点击配置规则 5、手动添加 即可

《项目实战》构建SpringCloud alibaba项目(三、构建服务方子工程store-user-service)

系列文章目录 构建SpringCloud alibaba项目&#xff08;一、构建父工程、公共库、网关&#xff09; 构建SpringCloud alibaba项目&#xff08;二、构建微服务鉴权子工程store-authority-service&#xff09; 构建SpringCloud alibaba项目&#xff08;三、构建服务方子工程stor…

python学习——NumPy数值计算基础

目录 NumPy数值计算基础1.array创建数组及其属性2.其他创建方式3.数据类型及其转换4.生成随机数5.数组的索引和切片6.改变数组形态【案例】两个国家的数据方法一起来研究分析&#xff0c;同时保留国家的信息&#xff08;每条数据的国家来源&#xff09;&#xff0c;应该怎么办 …

《网络安全0-100》单钥加密体制

单钥加密体制 DES算法 DES属于对称密码算法中的分组加密(块加密)&#xff0c;和流密码相对应。DES算法将明文分为若干个64位块(不足补充)&#xff0c;秘钥为56位(8位校验位)。DES算法流程图如下 接下来&#xff0c;进行DES算法关键步骤的逐步解析&#xff1a; IP置换 IP置换…

Python学习——数据分组统计、分组运算及透视

目录 1 数据分组统计 groupby1.1 按照单列进行分组统计df.groupby(列名).count()1.2 按照多列进行分组统计 df.groupby([列名1,列名2]).count()1.3 分组填充缺失值 df.groupby(需填充列名).apply(lambda x:x.fillna(x.mean())) 2 分组运算 agg2.1 传入标准函数 df.groupby(班级…

机器学习之KNN(K近邻)算法

1 KNN算法介绍 KNN算法又叫做K近邻算法&#xff0c;是众多机器学习算法里面最基础入门的算法。KNN算法是最简单的分类算法之一&#xff0c;同时&#xff0c;它也是最常用的分类算法之一。KNN算法是有监督学习中的分类算法&#xff0c;它看起来和Kmeans相似&#xff08;Kmeans是…

乱七八糟知识点

知识点汇总 看一个文件的前n行、指定行、末n行idea 创建快捷测试文件Mac版 pycharm 快捷键ideaMac 终端MySQL 安装完&#xff0c;初始密码一般存在vim操作搜索引擎 看一个文件的前n行、指定行、末n行 # 先准备一个文件 ➜ tmp cat a.txt 001 002 003 004 005 006# 查看前2行…

不变的是需求,变化的是解决方法和工具:探讨iPaaS与ESB的差异

在企业数字化转型过程中&#xff0c;企业需要面临日益复杂的业务和数据集成挑战。为了应对这些挑战&#xff0c;需要借助适当的解决方法和工具来实现系统间的通信和数据传输。在这方面&#xff0c;iPaaS&#xff08;Integration Platform as a Service&#xff09;和ESB&#x…

STM32外设系列—OLED

文章目录 一、OLED简介二、数据手册分析2.1 供电电压2.2 引脚定义2.3 原理图介绍2.4 数据手册程序 三、IIC通信3.1 什么是IIC3.2 IIC通信协议3.3 IIC主从通信过程3.3.1 写入数据3.3.2 读取数据 四、OLED程序设计4.1 OLED初始化4.2 OLED控制函数编写4.2.1 OLED显示开/关程序4.2.…

ECCV2022 多目标跟踪(MOT)汇总

一、《Towards Grand Unification of Object Tracking》 作者: Bin Yan1⋆, Yi Jiang2,†, Peize Sun3, Dong Wang1,†,Zehuan Yuan2, Ping Luo3, and Huchuan Lu School of Information and Communication Engineering, Dalian University of Technology, China 2 ByteDance …

企业级开发环境配置(JDK、tomcat、Maven、Git、IDEA个性化界面的设定)

企业级开发环境配置&#xff08;JDK、tomcat、Maven、Git、IDEA个性化界面的设定&#xff09; 一、JRE,JDK8安装和环境变量配置1. 进入Oracle官网进行jdk8安装包的下载2. 选择安装路径&#xff0c;安装路径不要出现中文以及空格3. 环境变量的配置4. 安装验证 二、Tomcat 安装和…

性能测试面试题:如何测试App性能?(面试必问)

为什么要做App性能测试&#xff1f; 如果APP总是出现卡顿或网络延迟的情况&#xff0c;降低了用户的好感&#xff0c;用户可能会抛弃该App&#xff0c;换同类型的其他应用。如果APP的性能较好&#xff0c;用户体验高&#xff0c;使用起来丝滑顺畅&#xff0c;那该应用的用户粘…

Nginx入门?看这一篇就够了

Nginx&#xff1f;看这一篇就够了 前言Nginx介绍没有好用的&#xff1f;那就自己做一个&#xff01;Nginx的发展历程Nginx的特性&#xff08;为什么要用Nginx&#xff09; 异步事件驱动同步事件驱动同步事件驱动的问题 异步事件驱动异步非阻塞与同步非阻塞并发和并行I/O多路复用…

【数据关联】基于Patch的对应特征关联,关联当前帧->参考帧,帧间追踪

帧间追踪与数据关联 1. WarpPixelWise(求当前帧特征点位置)1.1 函数功能1.2 函数输入输出1.3 算法步骤 2. GetWarpMatrixAffine(计算 当前帧->参考帧 仿射变换矩阵)2.1 函数功能2.2 函数输入输出2.3 算法步骤 3. GetWarpMatrixAffine(计算 当前帧->参考帧 仿射变换矩阵)3…

modbus TCP协议讲解及实操

具体讲解 前言正文modbus tcp主机请求数据基本讲解Modbus Poll工具简单使用讲解 modbus tcp从机响应数据Modbus Slave工具简单使用讲解 前言 关于modbus tcp从0到1的讲解&#xff0c;案例结合讲解&#xff0c;详细了解整个modbus的可以参考这个&#xff1a;详解Modbus通信协议…

【吃透网络安全】2023软考网络管理员考点网络安全(一)安全基础篇

涉及知识点 软考网络管理员&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈&#xff0c;这边提供个快捷入口&#xff01; 第一节 网络管理员考点网络安全&#xff08;1&#…