ecshop分类页显示当前商品多图相册

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

ecshop分类页显示当前商品多图,修改过后的效果图:

 
第1步:找到根目录的category.php文件,查找约:486行左右(注意这不是准确位置,看实际的哦),找到这个函数:
 
/**
 * 获得分类下的商品
 *
 * @access  public
 * @param   string  $children
 * @return  array
 */
function category_get_goods($children, $brand, $min, $max, $ext, $size, $page, $sort, $order)
……以下代码省略。
 
然后在这个函数里的:
 
        if ($watermark_img != '')
        {
            $arr[$row['goods_id']]['watermark_img'] =  $watermark_img;
        }
 
        $arr[$row['goods_id']]['goods_id']         = $row['goods_id'];
 
下面一行增加一段代码:
 
//调用缩略图 2014-05-26 11:24:12
$gid =  $row['goods_id'];
$sqlg = "SELECT img_url,thumb_url FROM " . $GLOBALS['ecs']->table('goods_gallery') ." WHERE goods_id = ".$gid;
$ggres2 = $GLOBALS['db']->getAll($sqlg);
//print_r($ggres2);
 
意思就是:通过列表的商品ID号,查找对应的商品相册里的缩略图集,返回的应该是一个图片地址数组!
 
找到:
 
        $arr[$row['goods_id']]['goods_img']        = get_image_path($row['goods_id'], $row['goods_img']);
        $arr[$row['goods_id']]['url']              = build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']);
 
紧跟着加上一句代码:
 
   $arr[$row['goods_id']]['gpic']             = $ggres2;
 
剩下的就是模板里调用。
 
第2步:修改库文件 library/goods_list.lbi。
 
在这个文件里,找到需要调用商品相册小图片的位置,这样调用即可:
 
<!-- {foreach from=$goods.gpic item=picture name=no}--> 
<!-- {if $smarty.foreach.no.iteration < 5}  -->
<img src="{if $picture.thumb_url}{$picture.thumb_url}{else}{$picture.img_url}{/if}" width="30" alt="{$goods.goods_name}" data-s="{if $picture.thumb_url}{$picture.thumb_url}{else}{$picture.img_url}{/if}" />
<!--{/if}-->  
<!--{/foreach}--> 
 
chinab4c这里用“{if $smarty.foreach.no.iteration < 5}”来限定了调用数量最多是4个,需要的朋友可修改这个数字即可。
 

(责任编辑:chinab4c)