找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz!x3.2 更换百度编辑器(ueditor)解决方案之一(编辑中...)




    需要修改的文件:



      1. \template\default\forum\post_editor_body.htm
      2. \template\default\forum\post.htm
      3. \source\function\function_discuzcode.php
      4. \source\include\post\post_editpost.php
      复制代码


    一、首先下载百度的 ueditor utf-8 php 版,解压出来后将文件夹名改为ueditor,然后放在论坛根目录。
    20141126101219_57309.jpg
    二、修改post_editor_body.htm(将下面代码复制,打开文件全选之后粘贴。)







      1. <div id="{$editorid}_body_loading"><img src="{IMGDIR}/loading.gif" width="16" height="16" class="vm" /> {lang e_editor_loading}</div>
      2. <!-- 编辑器 -->
      3. <div class="edt" id="{$editorid}_body" style="display: none">
      4. <!-- 加载百度编辑器的容器 -->
      5.     <script id="{$editorid}_textarea" name="$editor[textarea]" type="text/plain">
      6.     $editor[value]
      7.     </script>
      8.     <!-- 配置文件 -->
      9.     <script type="text/javascript" src="./ueditor/ueditor.config.js"></script>
      10.     <!-- 编辑器源码文件 -->
      11.     <script type="text/javascript" src="./ueditor/ueditor.all.js"></script>
      12.     <!-- 实例化编辑器 -->
      13.     <script type="text/javascript">
      14.         var ue = UE.getEditor('{$editorid}_textarea');
      15.     </script>
      16. <!-- 保存数据 -->
      17.     <div id="rstnotice" class="ntc_l bbs" style="display:none">
      18.         <a href="javascript:;" title="{lang post_topicreset}" class="d y" onclick="userdataoption(0)">close</a>{lang missed_data} <a class="xi2" href="javascript:;" onclick="userdataoption(1)"><strong>{lang post_autosave_restore}</strong></a>
      19.     </div>
      20. <!-- 编辑器主输入框 -->

      21. <!--  -->
      22.     <!--{subtemplate common/editor}-->
      23. </div>
      复制代码


    三、修改post.htm
    搜索 “switchpost(”,找到“$_GET[action] == 'newthread'” 下面的ul标签,之后将下面的代码替换掉整段ul。
    1. <ul class="tb cl mbw">
    2.                 <!--{if $savecount}-->
    3.                     <li class="y"><a id="draftlist" href="javascript:;" class="xi2" onmouseover="showMenu({'ctrlid':'draftlist','ctrlclass':'a','duration':2,'pos':'34'})">{lang draftbox}(<strong>$savecount</strong>)</a></li>
    4.                 <!--{/if}-->
    5.                 <!--{if !$_G['forum']['threadsorts']['required'] && !$_G['forum']['allowspecialonly']}--><li$postspecialcheck[0]><a href="javascript:;" onclick="switchpost('forum.php?mod=post&action=newthread')">{lang post_newthread}</a></li><!--{/if}-->
    6.                 <!--{loop $_G['forum']['threadsorts'][types] $tsortid $name}-->
    7.                     <li{if $sortid == $tsortid} class="a"{/if}><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&sortid=$tsortid"><!--{echo strip_tags($name);}--></a></li>
    8.                 <!--{/loop}-->
    9.                 <!--{if $_G['group']['allowpostpoll']}--><li$postspecialcheck[1]><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&special=1">{lang post_newthreadpoll}</a></li><!--{/if}-->
    10.                 <!--{if $_G['group']['allowpostreward']}--><li$postspecialcheck[3]><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&special=3">{lang post_newthreadreward}</a></li><!--{/if}-->
    11.                 <!--{if $_G['group']['allowpostdebate']}--><li$postspecialcheck[5]><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&special=5">{lang post_newthreaddebate}</a></li><!--{/if}-->
    12.                 <!--{if $_G['group']['allowpostactivity']}--><li$postspecialcheck[4]><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&special=4">{lang post_newthreadactivity}</a></li><!--{/if}-->
    13.                 <!--{if $_G['group']['allowposttrade']}--><li$postspecialcheck[2]><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&special=2">{lang post_newthreadtrade}</a></li><!--{/if}-->
    14.                 <!--{if $_G['setting']['threadplugins']}-->
    15.                     <!--{loop $_G['forum']['threadplugin'] $tpid}-->
    16.                         <!--{if array_key_exists($tpid, $_G['setting']['threadplugins']) && @in_array($tpid, $_G['group']['allowthreadplugin'])}-->
    17.                             <li{if $specialextra==$tpid} class="a"{/if}><a href="forum.php?mod=post&action=newthread&fid=<!--{echo $_GET[fid]}-->&specialextra=$tpid">{$_G[setting][threadplugins][$tpid][name]}</a></li>
    18.                         <!--{/if}-->
    19.                     <!--{/loop}-->
    20.                 <!--{/if}-->
    21.             </ul>
    复制代码

    四、修改 function_discuzcode.php ,大约在第 97 行,或者搜索 $htmlon , 在下面加上 $htmlon=1;
    20141126181845_92020.jpg
    注:改这里是 DZ在提交时将替换编辑框里html标签 的功能去掉了,如果不去掉会出现读取帖子内容的时候连标签一起显示出来的问题。因为时间紧迫,没有深入修改,就直接这么办了,不影响编辑器使用,但是可能会出现一些安全上的问题(如用户提交恶意js脚本等),有能力的朋友自己可以完善下。

    五、修改 post_editpost.php ,大约在 217 行,或者搜索 dhtmlspecialchars ,第二个就是,然后将这一行注释掉。
    20141126182055_20200.jpg
    注:这里的原因跟上面那个类似,因为我们写进数据库的时候并没有对标签进行重写,所以这里也不用再重写,不然会出现被编码后的html标签。
    最后后台更新下缓存,完成。

本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://www.xmspace.net/thread-420-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2016-3-4 02:09:38 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • fastadmin 后台界面使用字段数组类型
    • Discuz!x3.5 修改标题高亮颜色
    • Discuz!x3.5 应用中心 下载应用一直下载中
    • 帖子定时显示
    • 论坛辅助审核
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表