商品相簿调用现成的商品图片

2016-07-07 15:03 来源:www.chinab4c.com 作者:ecshop专家



由於我的个人因素关系,不希望在上传商品图时同步复制到相簿内,浪费空间资源,因此想在商品的相簿中直接调用现成的商品图片...

我自己是习惯上传一个400px以上宽度的原图,在详细页时先显示250px宽度大图,然後於FLASH相簿内才看到更大的原始图片...

适用环境:
  • EC v2.7 (其他版本我没试过~ 若各位大大使用其他版本也OK的话,麻烦请回覆一下,感恩!)
  • 商店[基本设定]为: 保留商品原图 & 商品图不产生至相簿内

修改前请务必备份下列档案:
  • gallery.php



先在商店[基本设定]为: 保留商品原图 & 商品图不产生至相簿内

若您希望在检视相簿时直接显示商品的大图,或是你不想要上传时保留原图时,可把original_img改成goods_img即可,但这样也没必 要特地放到相簿内了吧...XD

开启 gallery.php

找到
  1. $sql = 'SELECT goods_name FROM ' . $ecs->table('goods') . "WHERE goods_id = '$_REQUEST[id]'";
  2. $goods_name = $db->getOne($sql);
复制代码
替换
  1. //$sql = 'SELECT goods_name FROM ' . $ecs->table('goods') . "WHERE goods_id = '$_REQUEST[id]'";
  2. //$goods_name = $db->getOne($sql);
  3. $sql = 'SELECT goods_name, original_img gallery, goods_thumb gallery_thumb FROM ' . $ecs->table('goods') . "WHERE goods_id = '$_REQUEST[id]'";
  4. $goods_list = $db->getRow($sql);
  5. $goods_name = $goods_list['goods_name'];//给FLASH调用的商品名称
  6. $goods_list['gallery'] = get_image_path($_REQUEST[id], $goods_list['gallery']);
  7. $goods_list['gallery_thumb'] = get_image_path($_REQUEST[id], $goods_list['gallery_thumb']);
  8. $goods_list['img_desc'] = '';
  9. //$goods_list['img_desc'] = $goods_name;//预设显示的图片描述为商品名称
复制代码
找到
  1. if ($img_count == 0)
复制代码
上面加入
  1. //於第一张图片调用详细页的商品图
  2. if($goods_list['gallery'] && $goods_list['gallery_thumb']){
  3. $img_count++;
  4. array_unshift($gallery['list'], $goods_list);
  5. }
复制代码
存档关闭後上传

回答:
很好很强大。。。不错



再追加两行~
$goods_list['gallery'] = get_image_path($_REQUEST[id], $goods_list['gallery']);
$goods_list['gallery_thumb'] = get_image_path($_REQUEST[id], $goods_list['gallery_thumb']);

修正 在有写入商品图路径的情况下於FTP移除的情况下显示默认商品图

好招呀..不过我习惯了使用外链图片...一点也不浪费本地资源.哈..