大家都知道首页的推荐、热卖和新品三个板块的商品都是从所有商品里读取出来的。如果我想“在首页调用指定分类的推荐、热卖和新品?”该怎么办呢,下面教你一种方法:
找到ecshop的includes/lib_goods.php,
把SQL语句改一下,与category表关联即可
将- $sql = 'SELECT g.goods_id,g.goods_name, g.goods_name_style,
- g.market_price, g.shop_price AS org_price, g.promote_price, ' .
复制代码 修改为- $sql = 'SELECT g.goods_id,g.cat_id,c.parent_id,g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
复制代码 继续找到- 'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
复制代码 在它下面加一句- 'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON c.cat_id = g.cat_id ' .
复制代码 然后将- if (!empty($cats))
- {
- $sql .= " AND (" . $cats . " OR " . get_extension_goods($cats) .")";
- }
复制代码 改为- if (!empty($cats))
- {
- $sql .= " AND (c.parent_id =" . $cats. " OR " . get_extension_goods($cats) .")";
- }
复制代码 这个是和分类表建立关联,调出商品所在分类的上级分类
然后在index.php中增加下面代码- $smarty->assign('chot_goods_35', get_category_recommend_goods('hot','35')); //指定分类下的热销商品
复制代码 注意这个35是一级分类的ID,然后在模板中调用即可- {$goods.name|escape:html}
- 市场价:{$goods.market_price}
- 特卖价:{$goods.shop_price}
- 立即抢购
复制代码 同理,新品,推荐都可以调,只要把hot改为new 或者best就可以了 |