在ECSHOP的商品列表调用评论数量的方法
<p><span>ECSHOP的商品列表页如果能显示相对应的评论数,那就更好了,我们也可以添加一些浏览次数,这样商品的列表看起来就更加丰富了,今天我们就给大家来讲解一下如何在ECSHOP的商品列表调用评论数量,需要修改系统文件,修改之前请备份相关文件。 </span><br><br><strong>修改分类文件</strong><span> </span><br><br><span>修改category.php 文件,定位到 category_get_goods() 函数部分找到</span></p>
<div>
<p>
<span>SQL Code</span><span>复制内容到剪贴板</span></p>
<div id="code_5295">
<ol>
<li>
<p>
<span><span>$sql = </span><span>'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, '</span><span> . </span></span></p>
</li>
<li>
<p>
<span> </span><span>"IFNULL(mp.user_price, g.shop_price * '$_SESSION') AS shop_price, g.promote_price, g.goods_type, "</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>'g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>'FROM '</span><span> . $GLOBALS[</span><span>'ecs'</span><span>]-></span><span>table</span><span>(</span><span>'goods'</span><span>) . </span><span>' AS g '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>'LEFT JOIN '</span><span> . $GLOBALS[</span><span>'ecs'</span><span>]-></span><span>table</span><span>(</span><span>'member_price'</span><span>) . </span><span>' AS mp '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION' "</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>"WHERE $where $ext ORDER BY $sort $order"</span><span>; </span></p>
</li>
</ol>
</div>
</div>
<p>
<span>修改为</span></p>
<div>
<p>
<span>SQL Code</span><span>复制内容到剪贴板</span></p>
<div id="code_1561">
<ol>
<li>
<p>
<span><span>$sql = </span><span>'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, '</span><span> . </span></span></p>
</li>
<li>
<p>
<span> </span><span>"IFNULL(mp.user_price, g.shop_price * '$_SESSION') AS shop_price, g.promote_price, g.goods_type, "</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>" IFNULL(AVG(r.comment_rank),0) AS comment_rank,IF(r.comment_rank,count(*),0) AS comment_count, "</span><span>. </span></p>
</li>
<li>
<p>
<span> </span><span>'g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>'FROM '</span><span> . $GLOBALS[</span><span>'ecs'</span><span>]-></span><span>table</span><span>(</span><span>'goods'</span><span>) . </span><span>' AS g '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>'LEFT JOIN '</span><span> . $GLOBALS[</span><span>'ecs'</span><span>]-></span><span>table</span><span>(</span><span>'member_price'</span><span>) . </span><span>' AS mp '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION' "</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>' LEFT JOIN '</span><span>. $GLOBALS[</span><span>'ecs'</span><span>]-></span><span>table</span><span>(</span><span>'comment'</span><span>) .</span><span>' AS r '</span><span>. </span></p>
</li>
<li>
<p>
<span> </span><span>'ON r.id_value = g.goods_id AND comment_type = 0 AND r.parent_id = 0 AND r.status = 1 '</span><span> . </span></p>
</li>
<li>
<p>
<span> </span><span>"WHERE $where $ext group by g.goods_id ORDER BY $sort $order"</span><span>; </span></p>
</li>
</ol>
</div>
</div>
<p>
<br>
然后继续找到</p>
<p>
</p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
$arr[$row['goods_id']]['url'] = build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']);</p>
<p>
</p>
<p>
在它下面增加几行代码</p>
<p>
</p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
$row['comment_rank'] = ceil($row['comment_rank']) == 0 ? 5 : ceil($row['comment_rank']);<br>
$arr[$row['goods_id']]['comment_rank']=$row['comment_rank'];<br>
$arr[$row['goods_id']]['comment_count']=$row['comment_count'];</p>
<p>
</p>
<p>
<strong>修改模版文件</strong><br><br>
修改 themes/default/library/goods_list.lbi 文件找到</p>
<p>
</p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
<a href="javascript:collect({$goods.goods_id});">{$lang.btn_collect}</a></p>
<p>
</p>
<p>
在它上面增加</p>
<p>
</p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
<img src="images/stars{$goods.comment_rank}.gif" /><br>
</p>
<p>
</p>
<p>
评论数:{$goods.comment_count}<br></p>
<p>
PS:大家都知道ECSHOP系统有缓存机制,如果某个商品有了新的评论,列表页的评论数量不会立马随着更新。得等到下次更新缓存的时候才会更新。</p>
<p>
如果您想列表页能即时体现评论数量的变化。只需继续进行下面修改即可。</p>
<p>
把 category.php 文件的</p>
<p>
$smarty->caching = true;</p>
<p>
修改为</p>
<p>
$smarty->caching = false;</p>
頁:
[1]