Ecshop模板网
首页 > ecshop教程 > ecshop经验分享 > 将Ecshop后台fckeditor升级更改为kindeditor 4.1.10编辑器
文章详情

将Ecshop后台fckeditor升级更改为kindeditor 4.1.10编辑器

ecshop模板网 / 2014-03-19

 ecshop在win8部分电脑上,不管用任何浏览器,都打不开,即使升级到最新版本都不行,问题应该吃在fckeditor兼容上。fckeditor 很久未升级,换掉该编辑器是最佳方法

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

把文件夹改名为:kindeditor,然后上传到根目录includes/下面,和fckeditor同一级就是了。以后可以把fckeditor删除了。

第二步:修改admin/includes/lib_main.php把里面的create_html_editor方法修改为创建kindeditor的内容:
直接替换就ok了:

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,
                   width : '700px',
                   height: '300px',
                   resizeType: 0   //固定宽高
               });
           });
   </script>
   <textarea id=\"$input_name\" name=\"$input_name\" style='width:700px;height:300px;'>$input_value</textarea>
    ";

   $smarty->assign('FCKeditor', $kindeditor);  //这里前面的 FCKEditor 不要变 
} 

第三步:修改文件上传路径

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


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

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


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


第五步:注释掉goods.php和article.php文件中关于fckeditor的路径
注释掉goods.php 文件的第107行

//    include_once(ROOT_PATH . 'includes/fckeditor/fckeditor.php'); // 包含 html editor 类文件 

 
注释掉article .php 文件的第19行

 

//    require_once(ROOT_PATH . "includes/fckeditor/fckeditor.php");
 
 

到此为止,大功告成。感谢网友@大鱼和小鱼提供本教程!

下一篇: 让ecshop商品评论和咨询显示分开的方法 上一篇: ecshop的ecs_geoip()函数报错分析
 用户评论(共 5 条评论)
  • 匿名用户:发表文章的人真的很帅气啊,完美解决!再加上楼下提供的那个神同步!帅气组合!3q ( 2015-08-18 11:09:39 )
  • 匿名用户:不行啊,第五步goods.php和article.php,这两个文件找不到里面要注释的内容。按照上面四步操作后,在网站前台页面上不显示的。 ( 2015-04-27 10:45:16 )
  • 匿名用户:lib_main.php 没有create_html_editor 这节代码怎么办? 我里面是这些:<?php

    /**
    * ZG2020 前台公用函数库
    * ============================================================================
    * 版权所有 2010-2012 北京宅购坊电子商务有限公司,并保留所有权利。
    * 网站地址: http://www.zg2020.com。
    * ============================================================================
    * $Author: liuhui $
    * $Id: lib_main.php 17063 2010-03-25 06:35:46Z liuhui $
    */

    if (!defined('IN_ECS'))
    {
    die('Hacking attempt');
    }

    /**
    * 更新用户SESSION,COOKIE及登录时间、登录次数。
    *
    * @access public
    * @return void
    */
    function update_user_info()
    {
    if (!$_SESSION['user_id'])
    {
    return false;
    }

    /* 查询会员信息 */
    $time = date('Y-m-d');
    $sql = 'SELECT u.user_money, u.pay_points, u.user_rank, u.rank_points, '.
    ' IFNULL(b.type_money, 0) AS user_bonus, u.last_login, u.last_ip'.
    ' FROM ' .$GLOBALS['ecs']->table('users'). ' AS u ' .
    ' LEFT JOIN ' .$GLOBALS['ecs']->table('user_bonus'). ' AS ub'.
    ' ON ub.user_id = u.user_id AND ub.used_time = 0 ' .
    ' LEFT JOIN ' .$GLOBALS['ecs']->table('bonus_type'). ' AS b'.
    " ON b.type_id = ub.bonus_type_id AND b.use_start_date <= '$time' AND b.use_end_date >= '$time' ".
    " WHERE u.user_id = '$_SESSION[user_id]'";
    if ($row = $GLOBALS['db']->getRow($sql))
    {
    /* 更新SESSION */
    $_SESSION['last_time'] = $row['last_login'];
    $_SESSION['last_ip'] = $row['last_ip'];
    $_SESSION['login_fail'] = 0;

    /* 取得用户等级和折扣 */
    if ($row['user_rank'] == 0)
    {
    // 非特殊等级,根据等级积分计算用户等级(注意:不包括特殊等级)
    $sql = 'SELECT rank_id, discount FROM ' . $GLOBALS['ecs']->table('user_rank') . " WHERE special_rank = '0' AND min_points <= " . intval($row['rank_points']) . ' AND max_points > ' . intval($row['rank_points']);
    if ($row = $GLOBALS['db']->getRow($sql))
    {
    $_SESSION['user_rank'] = $row['rank_id'];
    $_SESSION['discount'] = $row['discount'] / 100.00;
    }
    else
    {
    $_SESSION['user_rank'] = 0;
    $_SESSION['discount'] = 1;
    }
    }
    else
    {
    // 特殊等级
    $sql = 'SELECT rank_id, discount FROM ' . $GLOBALS['ecs']->table('user_rank') . " WHERE rank_id = '$row[user_rank]'";
    if ($row = $GLOBALS['db']->getRow($sql))
    {
    $_SESSION['user_rank'] = $row['rank_id'];
    $_SESSION['discount'] = $row['discount'] / 100.00;
    }
    else
    {
    $_SESSION['user_rank'] = 0;
    $_SESSION['discount'] = 1;
    }
    }
    }

    /* 更新登录时间,登录次数及登录ip */
    $sql = "UPDATE " .$GLOBALS['ecs']->table('users'). " SET".
    " visit_count = visit_count 1, ".
    " last_ip = '" .real_ip(). "',".
    " last_login = '" .gmtime(). "'".
    " WHERE user_id = '" . $_SESSION['user_id'] . "'";
    $GLOBALS['db']->query($sql);
    }

    /**
    * 获取用户信息数组
    *
    * @access public
    * @param
    *
    * @return array $user 用户信息数组
    */
    function get_user_info($id=0)
    {
    if ($id == 0)
    {
    $id = $_SESSION['user_id'];
    }
    $time = date('Y-m-d');
    $sql = 'SELECT u.user_id, u.email, u.user_name, u.user_money, u.pay_points'.
    ' FROM ' .$GLOBALS['ecs']->table('users'). ' AS u ' .
    " WHERE u.user_id = '$id'";
    $user = $GLOBALS['db']->getRow($sql);
    $bonus = get_user_bonus($id);

    $user['username'] = $user['user_name'];
    $user['user_points'] = $user['pay_points'] . $GLOBALS['_CFG']['integral_name'];
    $user['user_money'] = price_format($user['user_money'], false);
    $user['user_bonus'] = price_format($bonus['bonus_value'], false);

    return $user;
    }
    /**
    * 取得当前位置和页面标题
    * ( 2015-03-14 22:02:20 )
  • 匿名用户:第五步:注释掉goods.php和article.php文件中关于fckeditor的路径
    注释掉goods.php 文件的第107行
    // include_once(ROOT_PATH . 'includes/fckeditor/fckeditor.php'); // 包含 html editor 类文件

    注释掉article .php 文件的第19行

    // require_once(ROOT_PATH . "includes/fckeditor/fckeditor.php");


    什么是注释掉article .php 文件的第19行?我跟前面几步都改完了,之前的fckeditor文件我没有删除,如果删除的话文章列表不显示,不能编辑文章,现在是两个文件都在,只是产品编辑器写好的东西,点击确定,没有真的保证,我觉得应该是保存路径,但是我不找不到,谢谢 ( 2015-01-13 10:16:43 )

    是admin目录下的goods.php和article.php

  • 匿名用户:如果发现商品页出现提交内容为空白的时候,需要在提交时做一次同步,打开文件“\admin\templates\goods_info.htm,找到”document.forms['theForm'].submit();“,大概在第508行,在这行代码前增加同步的js代码:

    editor.sync();//同步编辑框的文字;
    document.forms['theForm'].submit(); ( 2014-04-29 08:35:50 )

    楼上正解 感谢支持

用户名: 匿名用户 E-mail:
当前心情:
评论内容:
验证码: captcha
返回顶部 返回首页
 
QQ在线咨询
售前电话热线
#
售前QQ客服