ecshop商品详情页显示同类别的推荐商品
在 ecshop 系统中,商品的详情页是显示推荐商品的,但这个推荐商品是针对全站系统的,也就是在商品的详情页面显示整个站点的推荐商品,这样显然是有bug的,如果我们有多个分类,比如分类有男装,女装,童装,如果点击男装,在男装的详情页面显示女装推荐就有点不搭了,如果我们再有玩具之类的分类,点击男装的时候显示玩具推荐就更不搭了,所以我们有必要修改一下,让 ecshop 商品的详情页面显示本类别下的推荐商品,也就是点击男装的时候,应该显示男装的推荐商品,下面夏日博客就在原默认模板的基础上修改。
第一步:打开 goods.php 文件,找到如下代码:
$smarty->assign('goods_rank', get_goods_rank($goods_id)); // 商品的销售排名
在这段代码之下再增添如下代码:
$children = get_children($goods['cat_id']);
$smarty->assign('best_goods',get_category_recommend_goods('best', $children));
第二步:打开模板文件 /themes/default/goods.dwt,找到如下代码:
<div class="AreaR">
在它下面再添加一行代码,如下:
<!-- #BeginLibraryItem "/library/recommend_best.lbi" --><!-- #EndLibraryItem -->
OK,现在都已经修改好了,同样的到后台把缓存清空一下,然后刷新前台商品详情页就可以看到当前分类的推荐商品了,不过这里显示的只有三个推荐的商品,我们还可以进行修改一下,打开 includes/lib_main.php 文件,查找如下的代码:
$num = isset($static_page_libs[$template][$lib]) ? $static_page_libs[$template][$lib] : 3;
这里的数字 3 就是控制显示的条数了,可以适当的修改一下。