Ecshop二次开发:后台编辑器替换为强大的kindeditor编辑器

作者:我就是个世界 发表于:2013-07-16
Ecshop后台的fckeditor编辑器实在是太丑陋、太难用了,最受不了的是不支持图片的批量上传,终于在忍受了它N天之后,决定换掉它,网上收罗了一下,发现用的比较多的是KindEditor,既然有现成的,本着环保节约的理念,咱就不重复造轮子了。

下面说把fckeditor编辑器替换为KindEditor编辑器的方便,也挺简单的,就这么四步。[color=#FF0000]需要注意的是第二步中:ecshop引用KindEditor得不到textarea值的解决方法[/color]

[b]第一步:下载kindeditor,[/b]下载地址为:http://www.kindsoft.net/down.php 下载最新版本的,现在是4.1.6
下载之后,把里面不要的语言和演示文件删除,有,asp、asp.net jsp和examples四个文件夹删掉。

把文件夹改名为:kindeditor,然后上传到根目录includes/下面,和fckeditor同一级就是了。以后可以把fckeditor删除了。
[separator]
[b]第二步:[/b]修改admin/includes/lib_main.php把里面的create_html_editor方法修改为创建kindeditor的内容:
直接替换就ok了

[code]
function create_html_editor($input_name, $input_value = '')
{
    global $smarty;

    $kindeditor="
        <script charset='utf-8' src='../includes/kindeditor/kindeditor-min.js'></script>
        <script>
            var editor;
            KindEditor.ready(function(K) {
                editor = K.create('textarea[name=\"$input_name\"]', {
                    allowFileManager : true,
                    themeType: 'simple',
                    width : '100%',
                    height: '480px',
                    resizeType: 1, //不固定高度
                    afterBlur: function(){this.sync();}  //mod by husw 2013年7月16日14:47:22 ECshop中不是submit提交,而是JS提交,这行代码的意思是离开焦点,编辑器JS动态赋值给 textarea ,若不加此函数,则添加的东西保存不了。
                });
            });
        </script>
        <textarea id='$input_name' name='$input_name' style='width:700px;height:300px;'>$input_value</textarea>
    ";
    $smarty->assign('FCKeditor', $kindeditor); //这里前面的 FCKEditor 不要变
}
[/code]

说明:width我们可以设置为100%自适应宽度,这样比较好,高度,好像100%没什么用,我们就自己定一个吧,
resizeType是否固定编辑框的高度、宽度,0是高、宽固定,1是宽固定、高不固定,2是高宽都不固定,可以查看kindeditor官方说明:http://www.kindsoft.net/docs/option.html

[b]第三步:修改文件上传路径[/b]

修改kindeditor/php目录下面的upload_json.php里面的
[code]
//文件保存目录路径
$save_path = $php_path . '../../../images/upload/';
//文件保存目录URL
$save_url = $php_url . '../../../images/upload/';
[/code]

kindeditor默认上传图片的路径是upload下面的image目录下面,以年月日为目录,如:image/20130401 我们把它修改为:以年月划分比较好。
在upload_json.php找到$ymd = date("Ymd"); 改为:$ymd = date("Ym");就可以了。

第四步:浏览服务器路径修改
修改includes/kindeditor/php/file_manager_json.php

[code]
//根目录路径,可以指定绝对路径,比如 /var/www/attached/
$root_path = $php_path . '../../../images/upload/';
//根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/
$root_url = $php_url . '../../../images/upload/';
[/code]

到此将fckeditor修改为kindeditor就修改完了。可以到后台,编辑商品、专题描述等查看是否比之前好看多了。

还忘了一点了,文章列表哪里有问题,今天点后台文章列表,报错,因为我把fckeditor那个目录全部删了如果你没删,应该不会报错,报错了,把article.php里面的//require_once(ROOT_PATH . "includes/fckeditor/fckeditor.php");这句注释掉就ok了。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论