ecshop首页调用指定分类下的推荐、热卖、新品

默认情况下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 class="right">

          <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 就OK了。

原文地址:https://www.cnblogs.com/wangblognet/p/2809925.html