ecshop更换升级FCKeditor编辑器到Kindeditor,支持图片批量上传,和百度地图添加的功能,kindeditor是个不错的编辑器。 1,首先下载kindeitor最新版放到includes目录(kindeitor官网:http://www.kindsoft.net) 2,删除 admin/goods.php 大约107行 include_once(ROOT_PATH . 'includes/fckeditor/fckeditor.php'); // 包含 html editor 类文件 3,删除 admin/goods.php 大约414行 create_html_editor('goods_desc', $goods['goods_desc']); 修改成: $FCKeditor = create_html_kindeditor('goods_desc', $goods['goods_desc'], 'theForm');// 最后一个参数theForm是新增的,可以指定后台包含编辑器的表单的名字。 $smarty->assign('FCKeditor', $FCKeditor); 这样,ecshop模版里面原有的$FCKeditor就不用再去修改了。 4. 修改 admin/includes/lib_main.php文件,找到大概 大约324行增加create_html_kindeditor行数,代码如下: /** * 生成 kindeditor * @param string input_name 输入框名称 * @param string input_value 输入框值 * @param string form_name 所在表单名称 */ function create_html_kindeditor($input_name, $input_value = '', $form_name = '') { global $smarty; $kindeditor = "<script src='/includes/kindeditor/kindeditor-all-min.js' charset='utf-8'></script> <script src='/includes/kindeditor/lang/zh_CN.js' charset='utf-8'></script> <script src='/includes/kindeditor/plugins/code/prettify.js' charset='utf-8'></script> <script>
KindEditor.ready(function(K) { var editor1 = K.create('textarea[name=".$input_name."]', { cssPath : '/includes/kindeditor/plugins/code/prettify.css', uploadJson : '/includes/kindeditor/php/upload_json.php', fileManagerJson : '/includes/kindeditor/php/file_manager_json.php', afterBlur : function() { this.sync(); K.ctrl(document, 13, function() { K('form[name=" . $form_name . "]')[0].submit(); }); K.ctrl(this.edit.doc, 13, function() { K('form[name=" . $form_name . "]')[0].submit(); }); } });
prettyPrint(); }); </script> <textarea id=\"$input_name\" name=\"$input_name\" style='width:100%;height:400px;'>$input_value</textarea>"; return $kindeditor; } //***说明,这里调用的aterBlur的JS函数,就可以解决ecshop更换kindeditor编辑器,提交数据不保存的原因了,因为如果没调用editor的sync函数的话,编辑器里面生成的内容,没办法保存提交的。 5. kindeditor中 ./php目录下的 file_manager_json.php和upload_json.php中的 $php_path 和 $php_url 改成自己想要的就行了。 注意:以上是在根目录测试。 (责任编辑:最模板) |