ecshop中把附件图片分离到子域名以加速页面显示的方法

    在使用ecshop做商店时,大量的图片是避免不了的。为了解决同域下浏览器下载的线程的限制,我们有必要把ecshop里上传的图片分离到另一个域名下。当前我采用产品ID的最后一个小数除以2取整来划分不同的子域来,这样在页面被浏览时加载图片可以更多同步线程下载到浏览器端以加速显示。

    下面是我修改ecshop的方法:
    在/includes/lib_common.php中大约2774行,找到下面代码,增加红色部位即可。

    /**
     * 重新获得商品图片与商品相册的地址
     *
     * @param int $goods_id 商品ID
     * @param string $image 原商品相册图片地址
     * @param boolean $thumb 是否为缩略图
     * @param string $call 调用方法(商品图片还是商品相册)
     * @param boolean $del 是否删除图片
     *
     * @return string   $url
     */
    function get_image_path($goods_id, $image='', $thumb=false, $call='goods', $del=false){
        $url = empty($image) ? $GLOBALS['_CFG']['no_picture'] : $image;
        $url = str_replace('images/','http://pic'.floor(substr($goods_id,-1)/2).'.tsov.net/',$url); //simonsu 增加的
        return $url;
    }
    

    为什么要这么改?原因看我之前的《采用多域名解决wordpress附件下载的速度响应问题

相关文章
ecshop数据库表结构ecshop商品分类列表模板(category.dwt)里获取分类名称修改ecshop缩略图的图片裁剪缩放处理方式ecshop在文章分类列表页的“文章列表”显示成“文章分类的名称”在ecshop的商品详情页调用商品所属品牌的描述ecshop中批量替换货号前缀ecshop杂志内容中禁止图片自动更改路径ecshop批量导入邮件订阅地址ecshop登录超时解决办法
    标签:ecshop 评论数:8 发布于:2010-11-17 23:06:07

当前共有8条评论,我也要发表:

    我的名字:

    我的邮箱:

    作者:byteboy时间:2012-07-18 22:00:46回复

      sorry,写错了,不是缩略图,而是upload目录里的图片。我修改了后,主图片和相册都生效了,但upload的图片路径没有修改,请问找哪个函数修改呢?谢谢!

      作者:SimonSu时间:2012-07-19 14:00:34回复

        upload?你是指编辑器中上的图片路径?我的没有修改。你可以在输出时用正则转换一下就行了

        作者:byteboy时间:2012-07-23 11:29:17回复

          兄弟,请问详细商品页面的商品描述部分输出(想修改详细描述里的图片路径),大概是修改ecshop哪个函数呀?我粗粗看了一下,还不是很得其法。先谢谢了

    作者:byteboy时间:2012-07-18 21:52:30回复

      请问缩略图的路径应该修改那个函数呢?

      作者:SimonSu时间:2012-07-19 13:59:56回复

        模板中{$goods.goods_id|getpic:120:100},然后在Includes/lib_base.php中增加函数getpic //获取商品缩略图地址 function getpic($id, $width, $height){ $dir= intval($id/1000); return 'https://pic.tsov.net/images/minipic/'.$dir.'/_'.$id.'_'.$width.'_'.$height.'_.jpg'; }

      作者:byteboy时间:2012-07-18 21:59:12回复

        sorry,写错了,不是缩略图,而是 upload的上传图片。好像修改后只有主图片和缩略图有效,upload的上传图片路径不生效

    作者:byteboy时间:2012-06-05 17:23:20回复

      看了一下,ecshop 这个函数 get_image_path()功能很简单呀,其实就是做了一个判断。为什么要独立成一个函数呢? 另外想请教一下,直接用新域名替换掉 “images/” ,但原来前面应该也有域名的呀,为什么不会重复呢?谢谢!

      作者:SimonSu时间:2012-06-05 21:35:15回复

        是的,就是给图片加个另一个域名的绝对路径。