dedecms系统编辑器 完美 更换成百度编辑器
1、解压百度编辑器,然后把解压出来的文件夹改名成为 ueditor ,接着就把ueditor文件夹和里面的所有内容上传到dedecms系统文件夹include里面。
2、登录dedecms网站系统后台,更换编辑器参数为 ueditor。到这里为止,基本工作已经做好了,接下来就是修改后台编辑器调用部分的代码。

1、dedecms系统编辑器调用,是在include\inc\inc_fun_funAdmin.php文件中修改的,用phpstorm工具打开inc_fun_funAdmin.php这文件。
2、查找函数 SpGetEditor,这就是获取编辑器的函数,然后在这个函数中这行代码global $cfg_ckeditor_initialized; 下方增加一个静态变量:Static $editor_number=1;如下图。

3、这个时候会发现,有两款编辑器已经存在调用代码了,它们是通过if 和 else if 方式切换的,那么我们要增加一个编辑器ueditor,只需要增加一个else if($GLOBALS['cfg_html_editor']=='ueditor'){...},然后在大括号中增加如下代码:
$fvalue = $fvalue=='' ? '' : $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、到现在为止已经完美的实现更换编辑器,如下图所示

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:169
阅读量:24
阅读量:72
阅读量:148
阅读量:101