在ECShop购物平台中,为了提高商品描述、新闻内容等富文本编辑的灵活性和用户体验,经常需要将默认的文本编辑器替换为更为强大的编辑器,比如百度的Ueditor。Ueditor是一款轻量级的网页富文本编辑器,提供了包括文字、图片、表格、链接等在内的完整编辑功能。本知识点将详细介绍如何将ECShop的后台编辑器替换成Ueditor编辑器的详细操作步骤。
需要下载Ueditor编辑器。根据文档提供的信息,可以在官方指定的地址下载最新版本的Ueditor(截止到2015-03-03版本为1.4.3)。下载链接为:***。同时,需要下载解决jquery冲突的相关文件,因为Ueditor内部使用了jquery,并且可能与其他框架发生冲突。下载地址为:***,密码为fflu。这里提供的是“老杨”的分享地址,其中包含的.DS_store文件对于macOS用户来说是系统生成的文件,可以根据情况忽略或删除。
下载完成后,需要将Ueditor的文件上传到网站服务器。文档建议上传到网站根目录下的includes文件夹内,并且需要解压包含fix_jquery的文件夹到ueditor目录下。这一步骤需要确保文件路径正确无误,以便后续顺利替换旧的编辑器。
接着,需要对ECShop的后端文件进行修改,主要涉及文件/admin/includes/lib_main.php。在这个文件中,原先用于生成FCKeditor的create_html_editor()函数需要被替换为创建Ueditor实例的代码。新函数的代码如下:
```php
/**
* 生成编辑器
* @param string $input_name 输入框名称
* @param string $input_value 输入框值
*/
function create_html_editor($input_name, $input_value='')
{
globalSmarty;
$kindeditor = "
";
$Smarty->assign('FCKeditor', $kindeditor);
}
```
替换的代码创建了一个新的script标签,指定UEditor的配置文件和最小化的js文件,并且实例化了一个编辑器实例。
此外,在/admin/templates/pageheader.htm模板文件中,还需要修改插入JS脚本的方式,将原有的引入方式替换为包含Ueditor特定的jquery文件和transport_json.js,以确保编辑器的功能不受影响。修改后如下:
```html
{insert_scriptsfiles="../js/utils.js"}
```
在商品编辑页面,需要解决编辑器内容被重置的bug。这个bug通常是由于表单重置函数导致编辑器中的内容丢失。在文件/admin/templates/goods_info.htm中找到相关的重置表单的代码,将其注释掉:
```html
```
以上步骤介绍的是如何将ECShop后台的默认编辑器替换为Ueditor编辑器,整个过程涉及到后端PHP代码的修改和前端JS文件的替换与调整。需要注意的是,上述步骤可能会随着ECShop版本的更新和Ueditor版本的升级而有所变化,因此在执行替换操作前,需要仔细检查各文件的路径和代码是否准确。在安装和配置过程中,还应注意保证系统的安全性,避免通过非法手段获取软件或工具,同时确保替换后的编辑器能够正常工作并符合预期的效果。
1