WangEditor在ThinkPHP8项目中的使用

269 阅读1分钟

WangEditor是一款开源的Web富文本编辑器,开箱即用,配置简单。官网地址:www.wangeditor.com/ TP8项目中使用步骤:

CDN方式引用

下载index.js文件和style.css文件到本地,引入项目,一般放在后台管理系统home页面中,方便统一调用。引入代码:

<!--wangeditor-->
<link href="/static/public/wangeditor/style.css" rel="stylesheet">
<script src="/static/public/wangeditor/index.js"></script>

发布文章页面

后台管理页面架构建议使用ajax.load的方式,主页面home采用单页面模式,根据点击相应,将需要的页面随时load到主页面。发布文章页面代码:

<style>
  #editor—wrapper {
    border: 1px solid #ccc;
    z-index: 100;
    /* 按需定义 */
  }
  #toolbar-container {
    border-bottom: 1px solid #ccc;
  }
  #editor-container {
    height: 500px;
  }
</style>


<div class="content">
  <div class="content_title">发布文章</div>
  <div class="content_form">
    <div class="content_form_a"><input placeholder="标题" class="input2" /></div>
    <div class="content_form_b">
      <!-- wangeditor编辑器 -->
      <div id="editor—wrapper">
        <div id="toolbar-container"><!-- 工具栏 --></div>
        <div id="editor-container"><!-- 编辑器 --></div>
      </div>
      <div class="content_form_c"><button class="button1">发布</button></div>
    </div>
  </div>
</div>


<script>
  /*声明变量已经移动到home.html页面*/
  var html_content;//全局内容变量,可以提交到后端页面进行提交
  var { createEditor, createToolbar } = window.wangEditor;
  var editorConfig = {
    placeholder: 'Type here...',
    onChange(editor) {
      html_content = editor.getHtml()
      console.log('editor content', html_content)
      // 也可以同步到 <textarea>
    },
  }
  var editor = createEditor({
    selector: '#editor-container',
    html: '<p><br></p>',
    config: editorConfig,
    mode: 'default', // or 'simple'
  })
  var toolbarConfig = {}
  var toolbar = createToolbar({
    editor,
    selector: '#toolbar-container',
    config: toolbarConfig,
    mode: 'default', // or 'simple'
  })
</script>

注意:2024年12月份版的WangEditor增强了变量的声明保护,默认为const声明变量,不可以使用ajax.load方式重复声明变量,这里改成var声明,以便可以重复加载页面,构建单页面应用。