dedecms整合百度编辑器(Ueditor)一(基本整合)

为什么会选择百度编辑器整合到dedecms

初次接触百度编辑器(Ueditor)应该是去年了,那段时间被dedecms自带的编辑老是出现空行的问题折腾的不行,所以想试下百度编辑器(Ueditor)。结果到Ueditor官网看了下。觉得整体功能都比较强大,特别是粘贴下载远程图片和在线搜索图片功能我很喜欢,不过这里的搜索力度好象不大,搜索出来的图片不多,还有就是下载远程图片的触发事件(粘贴)不好。于是当时就下载了php版到本地整合到dedemcs中来。不料整合难度很大也就放弃了。

真正把百度编辑器(Ueditor)整合到dedecms

就在昨天dedecms建的网站远程下载图片变的极慢,看了下dedehttpdown.class.php发现是用fsockopen下载远程文件的。于是改成pfsockopen再试问题依旧,就算是内容中包含一张图片发布文章时也很卡。这时想起了百度编辑器(Ueditor)也有图片下载的功能,然后一场Ueditor和dedecms的战斗开始了。

Ueditor整合dedecms步骤

  1. ueditor的下载安装

    到ueditor官网下载最新版的编辑器源码,下载地址:ueditor我下载的是[1.2.4.0 PHP 版本]

    到dedecms的include目录新建文件夹ueditor,该文件夹就是ueditor路径,下面修改编辑器配置文件时需要该路径

  2. 修改dedecms编辑器配置文件
    修改网站根目录下的include/inc/inc_fun_funAdmin.php文件。
    找到:if($GLOBALS['cfg_html_editor']=='fck')码:
    替换为:                      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/editor_config.js"></script>
    <script type="text/javascript" charset="utf-8" src="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/editor_all.js"></script>
    <link rel="stylesheet" type="text/css" href="'.$GLOBALS['cfg_cmspath'].'/include/ueditor/themes/default/css/ueditor.css"/>
    <textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;">'.$fvalue.'</textarea>
    <script type="text/javascript">var ue = new baidu.editor.ui.Editor();ue.render("'.$fname.'");</script>';
    if($gtype=="print")
    {
    echo $code;
    }
    else
    {
    return $code;
    }
    }else if($GLOBALS['cfg_html_editor']=='fck')

    注:1、我使用的是dedecms 5.7;         2、我这里引入的是editor_all.js而不是editor_all_min.js,min是压缩过后的js文件不方便修改。

  3. 修改dedecms默认编辑器为ueditor

    进入dedecms后台管理,进入:系统 ? 系统基本参数 ? 核心设置 ? Html编辑器(ckeditor,需要fck的用户可以去官网下载)
    修改该项为ueditor,这里的ueditor与上面的else if($GLOBALS['cfg_html_editor']=='ueditor')一定要保持一致,包括大小写也要一样,否则将调用不了ueditor编辑器

  4. 修改百度编辑器(Ueditor)的配置文件editor_config.js

    找到:URL = window.UEDITOR_HOME_URL||tmp.substr(0,tmp.lastIndexOf("\/")+1).replace("_examples/","").replace("website/","");大概28行左右
    修改为:URL = window.UEDITOR_HOME_URL = "/include/ueditor/";该 "/include/ueditor/"路径为ueditor文件存放路径即第一步的文件夹路径
    找到://,allHtmlEnabled:false大概151行
    修改为:,allHtmlEnabled:false

写在最后

至此dedecms与百度编辑器(Ueditor)的整合就基本完成了,之所以说是基本,因为还有很多需要优化的地方,包括ueditor图片上传路径的问题、ueditor远程抓取图片触发条件等。本站将持续更新dedecms与百度编辑器(Ueditor)整合优化文章,敬请支持和关注。

本文来源:zuola.net