观察博客:ecshop缩略图片和产品页第一张图片模糊的解决方法

ecshop是一款很不错的网店系统,但是由于是开源程序,我们经常会去换模板并改动代码,从而导致商品缩略图显示模糊和产品页第一张图片模糊。经过我的研究,发现缩略图显示模糊的解决方法网上随处可见,但是产品页第一张图片模糊的解决方法非常少。以下是具体解决方案。

        ecshop上传商品图片默认生成jpg缩略图或商品图的质量是80,这些图片看起来有点模糊,客户非常不满意,现提供调整生成jpg图片的质量,解决Ecshop商品缩略图不清晰的方法。找到includes/cls_image.php文件,在大约250行

       /* 生成文件 */
       if (function_exists(‘imagejpeg’))
       {
         $filename .= ‘.jpg’;
         imagejpeg($img_thumb, $dir . $filename);
       }

       改为


       /* 生成文件 */
       if (function_exists(‘imagejpeg’))
       {
         $filename .= ‘.jpg’;
         imagejpeg($img_thumb, $dir . $filename, 96);
       }


       这样应该足够清晰了,这里允许0-100的范围,不写默认是80的质量。修改后图像质量有所提高,但和原图还有区别,还要修改admin/goods.php 文件,大约在613行:


        // 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
        if ($proc_thumb && $image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']))
        {
            // 如果设置大小不为0,缩放图片
            if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
            {
                $goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
                if ($goods_img === false)
                {
                    sys_msg($image->error_msg(), 1, array(), false);
                }
            }


       改为:


// 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
        if ($image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']) &&$_FILES['goods_img']['width'] > $GLOBALS['_CFG']['image_width'] &&$_FILES['goods_img']['height'] > $GLOBALS['_CFG']['image_height'])
        {
            // 如果设置大小不为0,缩放图片
            if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
            {
                $goods_img = $image->make_thumb(‘../’. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
                if ($goods_img === false)
                {
                    sys_msg($image->error_msg(), 1, array(), false);
                }
            }


        同时到后台,系统设置-》商店设置-》显示设置:把商品图片宽度,高度设置成一样,图像质量就不会变化了。

        产品页第一张图片模糊的问题主要是由后台开启了上传商品自动生成相册图功能引起的。 商店设置--显示设置里面有一项   上传商品是否自动生成相册图: 这个选项默认是打开的,也就是默认是选择 是 ;这样的话您在上传商品图片时就在商品相册里面自动生成一张相册图片(跟你上传的原图是同一张图,只是图片质量不同而已);选择否的话在商品相册里面就不生成此图,如果该商品有商品相册图片,那需要您单独上传;如果您不单独上传商品相册图(且将上传商品是否自动生成相册图:设置为 否),那么在模版中系统就认为此商品没有商品相册,(实际确实是没有,因为默认生成的开关你关了而且你有没单独上传相册图,哪儿来的相册图了?)所以商品相册模块就不显示!所以 在后台 商店设置--显示设置里面 上传商品是否自动生成相册图: 设置为 否; 然后单独上传上传图片就可以解决商品第一张图片模糊的问题。

        另一种解决产品页第一张图片模糊的问题的方法是修改代码,用原始图替代这张缩略图来显示。在模板文件夹下的goods.dwt文件,找到
<div class="good_img">
                     <a href="javascript:;" οnclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
   <img src="{$goods.goods_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
                     </a>
                     </div>
       改成
<div class="good_img">
                     <a href="javascript:;" οnclick="window.open('gallery.php?id={$goods.goods_id}'); return false;" >
   <img src="{$goods.original_img}" alt="{$goods.goods_name|escape:html}" id="goodsimg" style="width:340px;" />
                     </a>
                     </div>
        这样产品页第一张图片模糊问题可以解决了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值