百度编辑器功能比较全面,而且非常强大,很多使用dede系统的网友朋友都喜欢用百度编辑器,想更换dede系统的编辑器为百度编辑器,这里给大家详细讲述一遍。
工具/原料
安装好的dedecms系统一个
百度编辑器一个
phpstorm工具
FileZilla Client 上传工具
上传百度编辑器、后台配置参数
1、解压百度编辑器,然后把解压出来的文件夹改名成为 ueditor ,接着就把ueditor文件夹和里面的所有内容上传到dedecms系统文件夹include里面。
2、登录dedecms网站系统后台,更换编辑器参数为 ueditor。到这里为止,基本工作已经做好了,接下来就是修改后台编辑器调用部分的代码。
修改系统php源码
1、dedecms系统编辑器调用,是在include\inc\inc_fun_funAdmin.php文件中修改的,用phpstorm工具打开inc_fun_funAdmin.php这文件。
2、查找函数Sp蘅荫酸圉GetEditor,这就是获取编辑器的函数,然后在这个函数中这行代码global $cfg_ckeditor_initialized稆糨孝汶; 下方增加一个静态变量:Static $editor_number=1;如下图。
3、这个时候会发现,有两欧沁桤哎款编辑器已经存在调用代码了,它们是通过if 和 else if 方式切换的,那么我们要增加一个编辑器ueditor,只需要增加一个else if($GLOBALS[刻八圄俏9;cfg_html_editor']=='ueditor'){...},然后在大括号中增加如下代码: $fvalue = $fvalue=='' ? '<p></p>' : $fvalue; $code=""; if($editor_number==1){ $code.='<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/ueditor.config.js"></script><script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/ueditor.all.js"></script><link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/themes/default/css/ueditor.css"/>'; } $editor_number=$editor_number+1; $code .= '<textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;">'.$fvalue.'</textarea> <script type="text/javascript"> var ue = UE.getEditor("'.$fname.'");</script>'; if($gtype=="print") { echo $code; } else { return $code; }效果如下图所示。这个方式完美的解决了发布文章的时候出现2个以及2个以上编辑器而多次引用百度编辑器js和css文件的情况,因为多次引用百度编辑器js文件会出现错误的。
4、到现在为止已经完美的实现更换编辑器,如下图所示