广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > 如何在ecshop首页调用指定分类的热销、推荐、新

二次开发Ecshop二次开发

二次开发Ecshop二次开发

如何在ecshop首页调用指定分类的热销、推荐、新

找到ecshop的includes/lib_goods.php,修改方法如下

以把SQL语句改一下,与category表关联即可将

  1. $sql =  'SELECT g.goods_id,g.goods_name, g.goods_name_style,
  2. g.market_price, g.shop_price AS org_price, g.promote_price, ' .
复制代码

改为

  1.   $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, ' .
复制代码

再在

  1. 'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
复制代码

下加一句

  1. 'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON c.cat_id = g.cat_id ' .
复制代码

然后将

  1. if (!empty($cats))
  2.     {
  3.         $sql .= " AND (" . $cats . " OR " . get_extension_goods($cats) .")";
  4.     }
复制代码

改为

  1. if (!empty($cats))
  2.     {
  3.         $sql .= " AND (c.parent_id =" . $cats. " OR " . get_extension_goods($cats) .")";
  4.     }
复制代码

这个是和分类表建立关联,调出商品所在分类的上级分类
然后在index.php中 smarty

  1. $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就可以了