ecshop商品分类页获取相册列表方法

时间:2021-09-13 08:47:48
第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; OK,修改完成了一半,剩下的就是模板里调用啦。 第2步:修改库文件 library/goods_list.lbi。 在这个文件里,找到需要调用商品相册小图片的位置,这样调用即可: <!-- {foreach from=$goods.gpic item=picture name=no}-->
<!-- {if $smarty.foreach.no.iteration < } -->
<img src="{if $picture.thumb_url}{$picture.thumb_url}{else}{$picture.img_url}{/if}" width="" alt="{$goods.goods_name}" data-s="{if $picture.thumb_url}{$picture.thumb_url}{else}{$picture.img_url}{/if}" />
<!--{/if}-->
<!--{/foreach}--> 我这里用“{if $smarty.foreach.no.iteration < }”来限定了调用数量最多是4个,需要的朋友可修改这个数字即可。 在本文中,我们用smarty来循环一个相册地址数组,注意这里的from = $goods.gpic,原来我们见过的大多数from后面的参数都只是一个名称,如 from = $goods_list 这样的,但是今天笔者尝试使用 from = $goods.gpic 这种形式,发现也是可以把数组循环出来的,原来真的就是这么简单。