大家都知道ecshop首页的推荐、热卖和新品三个板块的商品都是从所有商品里读取出来的。如果我想“在ecshop首页调用指定分类的推荐、热卖和新品?”该怎么办呢,下面教你一种方法:
找到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,然后在模板中调用即可
<!--{foreach from=$chot_goods_35 item=goods}-->
<div style=padding-top: 8px; class=new-tr>
<a target=_blank href={$goods.url}><img width=116 height=130 border=0 alt={$goods.name|escape:html} src={$goods.thumb}></a>
<div>
<a target=_blank href={$goods.url}>{$goods.name|escape:html}</a><br>
<span style=color: rgb(102, 102, 102); text-decoration: line-through;>市场价:{$goods.market_price}</span><br>
特卖价:<span style=color: rgb(255, 0, 0);>{$goods.shop_price}</span><br>
<span class=font-gmm><a href=javascript:addtocart({$goods.id})>立即抢购</a></span>
</div>
<span class=new-line></span>
</div>
<!--{/foreach}-->
同理,新品,推荐都可以调,只要把hot改为new 或者best就可以了
2025国考·省考课程试听报名