Ecshop修改后台的大分类商品数量

原创 2016年06月02日 11:42:00

Ecshop修改后台的大分类商品数量

 

修改后效果:

 

 

 

解决方法:

1.修改ecshop/includes/lib_common.php文件代码。

  添加计算分类下的商品总数方法:

 

/**

 *

 * 使用递归,算出分类下的子类goods_num

 * @param 分类id $cat_id

 */

function get_sub_goods_number($cat_id){

$sub_goods_num=0;

//算出某类的子分类

$sql="select cat_id from ".$GLOBALS['ecs']->table('category') ." where parent_id=".$cat_id;

$res5 = $GLOBALS['db']->getAll($sql);

if($res5==null){

return 0;

}

foreach($res5as$k1=>$v1){

//子分类对应的

$sql="select count(*) as goods_num from ".$GLOBALS['ecs']->table('goods') ." where cat_id=".$v1['cat_id']." and is_delete = 0 AND is_on_sale = 1";

//print($sql);

$res6 = $GLOBALS['db']->getAll($sql);

$goods_num=0;

        foreach($res6as$k6=>$v6){

            $goods_num=$v6['goods_num'];

         }

$sub_goods_num=$sub_goods_num+$goods_num+get_sub_goods_number($v1['cat_id']);

}

return $sub_goods_num;

}


2.修改ecshop/includes/lib_common.php文件的cat_list()方法

  修改$res2sql语句

 //计算每个分类下的商品数,不包括子分类

  $sql="select b.cat_id,(case when a.cat_id<>'null' then count(*) else '0'  end) as goods_num from ".$GLOBALS['ecs']->table('goods'). " as a right join ".$GLOBALS['ecs']->table('category'). " as b on a.cat_id=b.cat_id group by b.cat_id";

 

加了下划线的代码为修改后的代码

 

 foreach($res2as$k=>$v)

            {

            

//1.得到所有分类id

//2.根据这些id查询相应的goods_number

$sql="select count(*) as goods_num from ".$GLOBALS['ecs']->table('goods'). " where cat_id=".$v['cat_id']. " AND is_delete = 0 AND is_on_sale = 1";

            $res4 = $GLOBALS['db']->getAll($sql);

            $goods_num=0;

            foreach($res4 as $k4=>$v4){

            $goods_num=$v4['goods_num'];

            }

$v['goods_num']=$goods_num;

                $newres[$v['cat_id']] = $v['goods_num']+get_sub_goods_number($v['cat_id']);

                foreach($res3as$ks=>$vs)

                {

                    if($v['cat_id'] == $vs['cat_id'])

                    {

                    $newres[$v['cat_id']] = $v['goods_num'] + $vs['goods_num'];

                    }

                }

            }

ECSHOP产品详情页修改商品购买数量并实时更新商品总价的实现与优化

当用户购买产品时,可能有时候不仅仅买一件商品,那么当客户购买多个当前产品时如果能同时显示总价,那么无疑将增加我们网站的亲和度!实现这个办法并不难,就是增加一个即时计算商品总价的js代码,这个网络有一篇...
  • mingbo9
  • mingbo9
  • 2017年04月05日 14:17
  • 609

ecshop 商品分类页 取得当前分类下的子分类方法

ecshop的商品分类页面category.php 下的分类,默认是取得所有同级父分类以及父类别的子分类。比如,我点击进入是A商品分类的页面 category.php?id=1,事实上 我只需要取得父...
  • jinxingfeng_cn
  • jinxingfeng_cn
  • 2013年05月01日 18:03
  • 4532

ecshop商品列表页,循环显示当前分类的二级分类以及分类下的商品

1.includes\lib_goods.php,在最末尾添加几个function/** * 获得指定分类下的子分类 * * @access public * @param intege...
  • GlatChen
  • GlatChen
  • 2014年12月29日 15:22
  • 3644

淘淘商城系列——修改购物车商品数量

上文我们实现了展示购物车商品列表的功能,本文我们将继续完善购物车,实现购物车商品数量的修改功能。 当前购物车列表,如果我们修改商品数量,总价格不变,而且页面刷新后还会回到原来的数字。 我们首先看看...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2017年06月17日 11:57
  • 2613

基于Ecshop 的移动端商品分类页面总结

全面基于ajaxcategory_all.dwt html代码
  • laike1355
  • laike1355
  • 2016年03月17日 11:34
  • 1594

ECSHOP:如何实现首页显示子分类并用标签页显示

例子:首页实现显示子分类,并实现Tab页 开始:    1. 打开调试开关     文件地址:include/cls_template.php 找到 : ...
  • dyllove98
  • dyllove98
  • 2013年06月20日 19:03
  • 3400

ecshop二次开发 给商品添加自定义字段

ecshop二次开发 给商品添加自定义字段 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms、Phpcms、帝国)等,他们是可以在后台直接添加自定义字段的。 ...
  • zhangfeng1133
  • zhangfeng1133
  • 2015年12月26日 01:52
  • 1480

ECSHOP 商品增加新字段的方法

ECSHOP 商品增加新字段的方法ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2013-08-23  在ecshop二次开发工作中,经常碰到一些ECSHO...
  • zhangfeng1133
  • zhangfeng1133
  • 2015年12月26日 01:48
  • 914

ecshop 首页显示每个分类的产品列表

//add by yanggg 旺旺 致雅家装 $goods_list_str = ''; foreach($cat_list_row as $cat_row){ $children = ...
  • zhangfeng1133
  • zhangfeng1133
  • 2016年05月13日 01:45
  • 1283

ThinkPHP--后台商品修改实现

数据修改具体实现 通过路由给一个操作方法传递参数 http://网址/index.php/模块/控制器/方法upd/变量名1/值/变量名2/值/变量名3/值  以上路由是通过get形式给指定的操作...
  • u014796999
  • u014796999
  • 2015年09月30日 21:35
  • 1108
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ecshop修改后台的大分类商品数量
举报原因:
原因补充:

(最多只允许输入30个字)