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附件下载的速度响应问题

相关日志

发表于:2010-11-17 23:06:07 at 23:06 分类:代码 8条评论 Tags:

8 Comments»

  1. byteboy说道:

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

    • SimonSu说道:

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

      • byteboy说道:

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

  2. byteboy说道:

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

    • byteboy说道:

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

    • SimonSu说道:

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

  3. byteboy说道:

    看了一下,ecshop 这个函数 get_image_path()功能很简单呀,其实就是做了一个判断。为什么要独立成一个函数呢?

    另外想请教一下,直接用新域名替换掉 “images/” ,但原来前面应该也有域名的呀,为什么不会重复呢?谢谢!

发表评论

(必填)

(必填)您的电子邮箱不会被公开。

*

正在加载信息...

Archives