请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

ecshop分类树显示分类下的商品数量

xkfla 2014-1-28 00:18:04 显示全部楼层 阅读模式
第一步:
修改includes/lib_goods.php
找到function get_categories_tree($cat_id = 0)方法
找到下面代码
/* 获取当前分类及其子分类 */
        $sql = 'SELECT cat_id,cat_name ,parent_id,is_show ' .
                'FROM ' . $GLOBALS['ecs']->table('category') .
                "WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
        $res = $GLOBALS['db']->getAll($sql);
在这段代码下新增
$sql = "SELECT cat_id, COUNT(*) AS goods_num " .
   " FROM " . $GLOBALS['ecs']->table('goods') . " AS g " .
   " GROUP BY cat_id";


    $res2 = $GLOBALS['db']->getAll($sql);
    $newres = array();
    foreach($res2 AS $row)
    {
     $newres[$row['cat_id']] = $row['goods_num'];
    }


第二步:
在该方法中找到 $cat_arr[$row['cat_id']]['id']   = $row['cat_id'];
在这代码下增加$cat_arr[$row['cat_id']]['num']  = !empty($newres[$row['cat_id']]) ? $newres[$row['cat_id']] : 0;


第三步:
找到function get_child_tree($tree_id = 0)方法


在该方法中的
$child_sql = 'SELECT cat_id, cat_name, parent_id, is_show ' .
                'FROM ' . $GLOBALS['ecs']->table('category') .
                "WHERE parent_id = '$tree_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
        $res = $GLOBALS['db']->getAll($child_sql);
代码下增加
$sql = "SELECT cat_id, COUNT(*) AS goods_num " .
   " FROM " . $GLOBALS['ecs']->table('goods') . " AS g " .
   " GROUP BY cat_id";
    $res2 = $GLOBALS['db']->getAll($sql);
    $newres = array();
    foreach($res2 AS $row)
    {
     $newres[$row['cat_id']] = $row['goods_num'];
    }
第四步:
在该方法中的
$three_arr[$row['cat_id']]['url']  = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
代码下增加
$three_arr[$row['cat_id']]['num']  = !empty($newres[$row['cat_id']]) ? $newres[$row['cat_id']] : 0;




第五步:
修改category_tree.lib库,写入num变量。


<!--{foreach from=$categories item=cat}-->
<dl>
<dt><a href="{$cat.url}">{$cat.name|escape:html}</a>({$cat.num})</dt>
<!--{foreach from=$cat.cat_id item=child}-->
<dd><a href="{$child.url}">{$child.name|escape:html}</a>({$child.num})</dd>
<!--{foreach from=$child.cat_id item=childer}-->
<dd>  <a href="{$childer.url}">{$childer.name|escape:html}</a>({$childer.num})</dd>
<!--{/foreach}-->
<!--{/foreach}-->


</dl>
<!--{/foreach}-->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表