ecshop杂志编辑器保存路径出现的一个bug
更新时间:2016-07-25 点击量:1477
Tag关键词: 编辑器 ecshop模板 ecshop4.0模板 二次开发 ecshop3.6模板 ecshop小程序
ecshop杂志编辑器保存路径出现的一个bug
优易软件近段时间收到部分用户反馈,ecshop杂志管理发送促销邮件的功能,有一个一个小小的 bug,经过测试,每次编辑内容保存的时候,都会默认的将 html 邮件内容的 src= 替换为 src=http://.$_SERVER["HTTP_HOST"],仔细检索发现ecshop 使用了一个 .$_SERVER["HTTP_HOST"] 的路径函数,也就是又新增加了一个站点路径,所以导致每次保存都会新加了个路径,
当我们第一次在 html 邮件中保存一个图片的时候路径为:
src=”http://www.uuecs.com/ test.jpg”
当第二次保存 html 邮件中图片的时候,路径就变为了如下:
src=”http://www.uuecs.comhttp://www.uuecs.comhttp://www.uuecs.com/ test.jpg”
这就是小的 bug了,凭白无故的多了怎么一个路径,这个一定是要去掉的,实际就是去掉 $_SERVER["HTTP_HOST"] 这个函数了。
打开 /admin/magazine_list.php 文件,查找如下的代码:
elseif ($_POST['step'] == 2) { $magazine_name = trim($_POST['magazine_name']); $magazine_content = trim($_POST['magazine_content']); $magazine_content = str_replace('src=\"','src=\"http://'.$_SERVER['HTTP_HOST'],$magazine_content); $time = gmtime(); $db->query("UPDATE " . $ecs->table('mail_templates') . " SET is_html = 1, template_subject = '$magazine_name', template_content = '$magazine_content', last_modify = '$time' WHERE type = 'magazine' AND template_id = '$id'"); $links[] = array('text' => $_LANG['magazine_list'], 'href' => 'magazine_list.php?act=list'); sys_msg($_LANG['edit_ok'], 0, $links); }
注释或者删除掉代码中 $magazine_content = str_replace(‘src=\”‘,’src=\”http://’.$_SERVER['HTTP_HOST'],$magazine_content); 这一句,也就是修改成如下的完整代码即可:
elseif ($_POST['step'] == 2) { $magazine_name = trim($_POST['magazine_name']); $magazine_content = trim($_POST['magazine_content']); //$magazine_content = str_replace('src=\"','src=\"http://'.$_SERVER['HTTP_HOST'],$magazine_content); //禁止保存时修改路径 $time = gmtime(); $db->query("UPDATE " . $ecs->table('mail_templates') . " SET is_html = 1, template_subject = '$magazine_name', template_content = '$magazine_content', last_modify = '$time' WHERE type = 'magazine' AND template_id = '$id'"); $links[] = array('text' => $_LANG['magazine_list'], 'href' => 'magazine_list.php?act=list'); sys_msg($_LANG['edit_ok'], 0, $links); }
就这样,第一次保存和第二次保存的格式路径就为一样的。
如果文章对您有帮助,就打赏一个吧
«上一篇:ecshop商城商品如何单独调用商品的某一项属性值 下一篇:ecshop商城红 将Ajax和Smarty fetch的结合方法»