dedecms 整合百度编辑器
我用的是dedecms5.7版本,自带的ckeditor编辑器在后台为指定的栏目添加新文档和编辑栏目内容时无法显示,于是就找了百度的编辑器ueditor,版本是1.4.3.1。
整合也很简单,但问题也出现不少,先说整合步骤。
步骤一:先把自己网站备份一下(非常重要)!
步骤二:去官网下载最新版的ueditor(这样的目前是最新1.4.3),注意要对应自己的网站编码,我用的是utf-8的,官网也有gbk的,自己选择!
步骤三:解压后有2个文件夹,分别是utf8-php,__MACOSX,__MACOSX是苹果机的相关文件,可以不管,把utf8-php改名为ueditor,注意大小写,然后复制到dedecms/include/下。
步骤四:打开dedecms/include/inc下的inc_func_funcAdmin.php,找到else if($GLOBALS['cfg_html_editor']=='ckeditor'),大约184行,在这之前插入以下代码
1 else if($GLOBALS['cfg_html_editor']=='ueditor') 2 { 3 $fvalue = $fvalue=='' ? '<p></p>' : $fvalue; 4 $code = '<script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/ueditor.config.js"></script> 5 <script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/ueditor.all.min.js"></script> 6 <link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/themes/default/css/ueditor.css"/> 7 <textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;height:100%;min-height:300px;">'.$fvalue.'</textarea> 8 <script type="text/javascript">var ue = new baidu.editor.ui.Editor();ue.render("'.$fname.'");</script>'; 9 if($gtype=="print") 10 { 11 echo $code; 12 } 13 else 14 { 15 return $code; 16 } 17 }
步骤五:如果ueditor不能保存内容,看下面,
在dedecms/dede/templates/下,找到catalog_edit.htm,catalog_add.htm这2个文件,找到下面的代码
function
checkSubmit()
{
if
(document.form1.typename.value==
""
){
alert(
"栏目名称不能为空!"
);
document.form1.typename.focus();
return
false;
}
return
true;
}
document.form1.content.value = document.getElementById("ueditor_0").contentWindow.document.body.innerHTML;
注意getElementById("ueditor_0")这里,如果不是ueditor1.4.3.1版本有可能是getElementById("baidu_editor_0"),根据自己情况修改。
步骤六:进入后台->系统->系统基本参数->核心设置->将 Html编辑器的值改为 ueditor,注意大小写,最后保存。