discuz二次开发更换百度ueditor编辑器
修改前必读:
1、修改编辑器后会造成以前发过的帖子再次进行修改时(也就是编辑帖子操作)出现很多被DZ重写过的 HTML标签 ,不方便进行修改,所以尽量在安装DZ后立刻进行修改。(当然,如果你有能力重写代码的话就可以无视啦)
2、修改前请先在本地进行尝试或备份相关文件。
需要修改的文件:
templatedefaultforum_editor_body.htm
templatedefaultforumpost.htm
sourcefunctionfunction_Discuzcode.php
sourceincludepostpost_editpost.php
修改步骤:
一、首先下载百度的utf-8 php 版,解压出来后将文件夹名改为ueditor,然后放在论坛根目录。
二、修改post_editor_body.htm(将下面代码复制,打开文件全选之后粘贴。)
{lange_editor_loading}$editor[value]varue=UE.getEditor('{$editorid}_textarea');close{langmissed_data}{langpost_autosave_restore}
|
三、修改post.htm
搜索 “switchpost(”,找到“$_GET[action] == 'newthread'” 下面的ul标签,之后将下面的代码替换掉整段ul。
{langdraftbox}($savecount){langpost_newthread}{langpost_newthreadpoll}{langpost_newthreadreward}{langpost_newthreaddebate}{langpost_newthreadactivity}{langpost_newthreadtrade}{$_G[setting][threadplugins][$tpid][name]}
|
四、修改 function_Discuzcode.php ,大约在第 97 行,或者搜索 $htmlon , 在下面加上 $htmlon=1;
注:改这里是 DZ在提交时将替换编辑框里html标签 的功能去掉了,如果不去掉会出现读取帖子内容的时候连标签一起显示出来的问题。因为时间紧迫,没有深入修改,就直接这么办了,不影响编辑器使用,但是可能会出现一些安全上的问题(如用户提交恶意 JS脚本 等),有能力的朋友自己可以完善下。
五、修改 post_editpost.php ,大约在 217 行,或者搜索 dhtmlspecialchars ,第二个就是,然后将这一行注释掉。
最后后台更新下缓存,完成。
相关专题编辑器
编辑器是网站开发必备插件,编辑器专题为大家整理各类型编辑器下载,包含热门的CMS程序编辑器插件下载,html编辑器源码下载等等....
如何将后台ckeditor编辑器更换为ueditor百度编辑器
一、下载ueditor请自己下载ueditor版本(本人是PHP版本 UFT-8版,不包含_examples、_src等文件夹及文件)。 下载完成后,会得到以下这样的目录结构的:ueditor文件说明:dialogs 是存放各个弹出窗口应用功能的文件,包含html,jslang 是存放编辑器语言的文件,有中文和E文php 是存放文件上传、涂鸦、远程图片、在线图片管理,添加视频的php源码文件,可以按自己的需求修改themes 当然就是主题样式图片存放的地方third-party 是第三方插件文件存放地方。 此文件是所有_src里的js源码的合集 此文件是editor_的压缩版 此文件是UE的配置文件 此文件是UE的解析文件 此文件是UE的解析压缩文件二、重命名文件夹名称,并复制UE到dede重命名:ueditor1_3_6-utf8-php,为ueditor。 将ueditor全部复制到dede的include文件夹下!完成后ueditor在dede里边的结构如下图:三、修改 include/inc/inc_fun_ 让 DD 能够调用到 UE打开 include/inc/inc_fun_ ,大约150行,有个function SpGetEditor,这是DD调用编辑器的,我们要修改它,达到能够调用UE,下拉到226行左右,加上以下代码://网络编辑器else if($GLOBALS[cfg_html_editor]==ueditor){$fvalue = $fvalue== ? <p></p> : $fvalue;$code = <script type=text/javascript charset=utf-8 src=.$GLOBALS[cfg_cmspath]./include/ueditor/></script>;$code .= <script type=text/javascript charset=utf-8 src=.$GLOBALS[cfg_cmspath]./include/ueditor/></script>;$code .= <link type=text/css href=.$GLOBALS[cfg_cmspath]./include/ueditor/themes/default/css//>;//$code .= <textarea.$fname..$fname.>.$fvalue.</textarea>;$code .= <script type=text/plain.$fname..$fname.>.$fvalue.</script>;if($bbcode){$code .= <script type=text/javascript>(.$fname.,{toolbars:[[Source,|,bold, italic, underline,|,fontsize,forecolor,emotion,Undo, Redo]],initialFrameHeight:100});</script>;}else{$code .= <script type=text/javascript>(.$fname.,{initialFrameHeight:450});</script>;}if($gtype==print){echo $code;}else{return $code;}}//bd end四:后台=》系统=》系统基本参数=》核心设置=》Html编辑器填入ueditor就好了
怎么进行discuz的二次开发
必须至少具备如下技能:1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MySql就用,掌握SQL语言,懂SQL优化者更佳4) 熟悉使用Discuz!的各项功能一) Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。 a) Admin:后台管理功能模块b) Api:DZ系统与其它系统之间接口程序c) Archiver:DZ中,用以搜索引擎优化的无图版d) Attachments:DZ中 ,用户上传附件的存放目录e) Customavatars:DZ中,用户自定义头像的目录f) Forumdata:DZ缓存数据的存放目录g) Images:DZ模板中的图片存放目录h) Include:DZ常用函数库,基本功能模块目录i) Ipdata:DZ统计IP来路用的数据j) Plugins:DZ插件信息的存放目录k) Templates:DZ模板文件的存放目录l) Wap:DZ无线,Wap程序处理目录二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。 关于DZ数据库设计文档,请参阅DZ相关的项目三) Discuz!的流程控制a) 后台流程控:DZ后台所有的功能,均需要注册到文件,每个功能都至少有一个或一个以上的Action(动作),在中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为(*),并存放在admin目录下,如执行?action=dodo,相当于执行admin目录下的文件b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如 会员注册; 会员登录 发贴程序 会员信息 论坛内容 查看贴子 …大部分功能,此处不一一列出…c) DZ根目下的属于整个DZ系统的配置文件 四) Discuz!的数据处理过程a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_)类中b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理五) Discuz!的显示控制(网站多样式风格输出)a) 显示层就是大家通常所看到的网站风格了。 DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。 网站风格的制作,请参阅详细的DZ风格制作文档b) DZ网站风格文件处理的原理:其实很简单,DZ使用中的parse_template()以PHP正则运算把htm模文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。 六) DZ中的语言处理a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*文件中,DZ在生成网站风格时就加载了这相应的语言包。 七) DZ如何处理用户信息(存取、计算、更新过程)新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。 a) DZ的基本信息,如用户信息,Session信息存在如下变量中:a). $_DCACHEb). $_COOKIEc). $_DCOOKIEd). $_DSESSIONe). $_DPLUGINb) 可以通过print_r($GLOBALS),打印全部变量八) DZ中缓存处理机制a) DZ中缓存处理过程都放在“”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。 b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:1)定义并注册缓存名字。 2)从数据读取相应的数据。 3)数据在写入缓存前作相应处理。 4)最后写入缓存。 具体操作,可以看文件中的代码,做相应的修改即可九) DZ中模板处理机制a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。 其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。 十) DZ中权限处理机制a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。 至于后台的权限权验证,则更简单了,依据“admin==1”来确定的十一) DZ中如何实现URL静态化a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。 十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。 实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。 这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
ckeditor的问题: 在做discuz中用PHP调用ckeditor出现了下面的情况,怎么解决啊!! 求高手,问题解决后再加分
那是html标签没闭合好 或者闭合错乱导致的像<input type=button onblur=xx onfocus=xx > 这个是正常的但是像这个这样 提前闭合了标签<input type=button > onblur=xx onfocus=xx /> 就会出现你那样的问题,把html代码显示出来 仔细检查看看
更多优质资源请微信扫码访问:盘姬资源网小程序
免责声明
本文仅代表作者观点,不代表本站立场,内容的真实性请自行甄别谨防上当受骗。
本站采用 CC BY-NC-SA 4.0 国际许可协议 进行许可,转载或引用本站文章应遵循相同协议。
-
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
-
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
-
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
-
如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。
站长邮箱:xm520vip@gmail.com
本文链接:https://123.775n.com/post-63.html
发表评论