新闻中心

如何在ECSHOP前台首页商品列表显示每个商品的评论数量和等级的完美解决方案

作者 / 无忧主机 时间 2014-07-29 16:22:54

站长朋友们都知道用开源的Ecshop搭建的电商网站首页的商品都是没有显示商品等级和会员购买后的评价数量的。今天小编的一位站长朋友看到了淘宝上的商品都是有评价数量和商品等级的,于是他也想做成这样的效果,因为在商品下就有评价和商品等级就可以直接的吸引住购买的客户,从而带动销量。一般商品的评价都是在评价里才能看到,这样就不能和商品一一对应了。但是在每一个商品下显示就能具体到某一个商品,那样效果极佳。首先小编先为各位截图看下之前的商品显示效果。如下图所示: [caption id="attachment_15278" align="alignnone" width="550"]ecshop ecshop[/caption]   这位站长朋友要的效果是在价格下面再显示出评价数和等级。小编经过一个晚上的研究和分析终于找到了完美的解决方案。下面小编为大家分享下这个成果吧。 第一步找到:根目录下的栏目页文件category.php 找到 category_get_goods() 函数部分 $sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, 把448行-445行代码修改为以下代码: $sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ' . "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, g.promote_price,g.goods_type,"."IFNULL(AVG(r.comment_rank),0)AScomment_rank,IF(r.comment_rank,count(*),0)AScomment_count,".'g.promote_start_date,g.promote_end_date,g.goods_brief,g.goods_thumb,g.goods_img'.'FROM'.$GLOBALS['ecs']->table('goods') . ' AS g ' .'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . ' AS mp ' ."ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' " .' LEFT JOIN '. $GLOBALS['ecs']->table('comment') .' AS r '.'ON r.id_value = g.goods_id AND comment_type = 0 AND r.parent_id = 0 AND r.status = 1 ' ."WHERE $where $ext group by g.goods_id ORDER BY $sort $order"; 以上代码可能有些多有点负责 这些都是SQL语句直接从数据库中抽出对应的等级和评价。所以修改的时候不能复制错误了。不然就不能实现从数据库中抽出的对应的数据。 继续往下找在512代码部分: $arr[$row['goods_id']]['url']= build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']); 在这行代码下添加以下代码: $row['comment_rank']=ceil($row['comment_rank'])==0?5: ceil($row['comment_rank']); $arr[$row['goods_id']]['comment_rank']=$row['comment_rank']; $arr[$row['goods_id']]['comment_count']=$row['comment_count'];   以上都从数据库中抽出来数据了,紧接着就是修改模板文件用来显示的。 第二步:找到themes/default/library/goods_list.lbi 文件。   找到 <ahref="javascript:collect({$goods.goods_id});"class="f6">{$lang.btn_collect}</a> 大概在87行代码部分在它上面增加 <imgsrc="images/stars{$goods.comment_rank}.gif" style="width:78px;height:15px;" /><br> 评论数:{$goods.comment_count}<br>   按照以上代码全部替换后保存上传替换以前的文件。然后登陆网站后台清空缓存这时候我们登陆网站前台首页刷新如下图所示:   [caption id="attachment_15279" align="alignnone" width="550"]ecshop ecshop[/caption] 果然实现了首页商品列表页显示每个商品的等级和评价数量了。 无忧主机相关文章推荐阅读: ECSHOP添加自定义模块 浅谈ECSHOP敏感词汇设置开发思想 解决ECSHOP后台重新发布商品图片产生新图片不覆盖原图的完美解决方案 解决最新ECSHOP2.7.3存在卖家打印快递单时不显示收货人省市区的完美解决方案

本文地址:https://www.51php.com/ecshop/15277.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服