鉴于ECSHOP后台没有提供远程图片服务器功能,可是又想把图片存储到其它服务器或者像七牛、又拍云之类的CDN,我们只能另寻他法,尽可能少的修改文件来实现,本方法只修改两个文件,利用七牛存储图片,实现方法如下:
在修改之类请注意备份这两个文件,以备不时之需。此修改实例操作于ECSHOP2.7.3版,其它版本请自行搜索。
第一步,找includes\lib_common.php文件 2188-2192行,
function get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false)
{
$url = empty($image) ? $GLOBALS['_CFG']['no_picture'] : $image;
return $url;
}
将其修改为,红色部分为添加的内容,其中XXX.qiniudn.com修改你自己的图片服务器地址,
function get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false){
$url = empty($image) ? $GLOBALS['_CFG']['no_picture'] : $image;if( $GLOBALS['imgserver'] == 1){
$url = str_replace('images/','http://XXX.qiniudn.com/images/',$url);
}return $url;
}
修改完成,保存,请注意文件的编码方式。
第二步,找data\config.php文件 35行找到 最后的标记符“?>”,在此之前加入如下内容:
/* 商品详情图片地址替换 */
// 总开关,1启用云存储,0使用本地图片
$imgserver = 1;
// 匹配图片前缀,即上传图片src的共同部分,在“/”前加“\”
$imgserver_pattern = '\/images\/upload';
// 域名前缀,最后不用加“/”
$imgserver_path = 'http://XXX.qiniudn.com';
第三步,goods.php 在170-180行左右中 查找
/* 购买该商品可以得到多少钱的红包 */
if ($goods['bonus_type_id'] > 0)
加入以下部分:
// 商品详情图片地址替换
if ($imgserver == 1) {
$goods['goods_desc'] = preg_replace('/'.$imgserver_pattern.'/i', $imgserver_path.'\0', $goods['goods_desc']);
}
到$smarty->assign('goods', $goods);
这一句代码之前即可
修改完成,保存,请注意文件的编码方式。然后上传覆盖这两个文件即可。
本文仅作自我留档,同时方便需要的人,不提供其他技术支持。
转载请注明:轮回阁 » ECSHOP远程图片服务器修改方法
特别说明:所有资源均无解压密码且可直接下载,若有会特别注明,部分回复可见内容仅为提供更多的下载点。