立即注册
 找回密码
 立即注册

梦幻岛

搜索
热搜: 活动 交友
返回列表
查看: 341|回复: 0

discuz论坛改换百度ueditor编辑器

[复制链接]

35

主题

35

帖子

304

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
304
发表于 2019-6-7 22:26:36 | 显示全部楼层 |阅读模式

1、论坛自带的编辑器功能很简单,不够用,可以通过以下方法换成ueditor,功能丰富多。

2、修改前请先在当地备份相关文件。

必要修改的文件:

\template\default\forum\post_editor_body.htm

\template\default\forum\post.htm

\source\function\function_discuzcode.php

\source\include\post\post_editpost.php


一、下载 ueditor utf-8 php 版,解压出来后将文件夹名改为ueditor,然后放在论坛根目录(其它目录也可,注意后边引用位置对了就OK,nginx部署注意location下直接按静态资源一样访问)。


二、修改post_editor_body.htm(将下面代码复制,打开文件全选之后粘贴。)


<div id="{$editorid}_body_loading"><img src="{IMGDIR}/loading.gif" width="16" height="16" class="vm" /> {lang e_editor_loading}</div>

<!-- 编辑器 -->

<div class="edt" id="{$editorid}_body" style="display: none">

<!-- 加载百度编辑器的容器 -->

    <script id="{$editorid}_textarea" name="$editor[textarea]" type="text/plain">

    $editor[value]

    </script>

    <!-- 设置文件 -->

    <script type="text/javascript" src="./ueditor/ueditor.config.js"></script>

    <!-- 编辑器源码文件 -->

    <script type="text/javascript" src="./ueditor/ueditor.all.js"></script>

    <!-- 实例化编辑器 -->

    <script type="text/javascript">

        var ue = UE.getEditor('{$editorid}_textarea');

    </script>

<!-- 生涯数据 -->

    <div id="rstnotice" class="ntc_l bbs" style="display:none">

        <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>

    </div>

<!-- 编辑器主输入框 -->

 

<!--  -->

    <!--{subtemplate common/editor}-->

</div>


  三、修改post.htm

搜“switchpost(”,找到“$_GET[action] == 'newthread'” 下面的ul标签,之后将下面的代码替代掉整段ul。


<ul class="tb cl mbw">

                <!--{if $savecount}-->

                    <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>

                <!--{/if}-->

                <!--{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}-->

                <!--{loop $_G['forum']['threadsorts'][types] $tsortid $name}-->

                    <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>

                <!--{/loop}-->

                <!--{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}-->

                <!--{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}-->

                <!--{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}-->

                <!--{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}-->

                <!--{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}-->

                <!--{if $_G['setting']['threadplugins']}-->

                    <!--{loop $_G['forum']['threadplugin'] $tpid}-->

                        <!--{if array_key_exists($tpid, $_G['setting']['threadplugins']) && @in_array($tpid, $_G['group']['allowthreadplugin'])}-->

                            <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>

                        <!--{/if}-->

                    <!--{/loop}-->

                <!--{/if}-->

            </ul>


  

四、修改 function_discuzcode.php ,第 97 行附近,可能搜刮 $Htmlon , 在下面加上 $Htmlon=1;


注:改这里是 DZ在提交时将替代编辑框里Html标签 的效果去掉了,假如不去掉会呈现读取帖子内容连带标签都展现出来,会很难看。


五、修改 post_editpost.php ,在 217 行附近,有两处,搜索 dHtmlspecialchars ,两行都注释掉。

注:这里和上边作用相同,代码通过htmlspeciachar化内容,使的内容再读出来连带标签了。


通过以上这些处理,论坛的编辑器就大有改观了。 


回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表