最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ecshop实现商品分类树显示分类下商品数量
时间:2013-07-16 编辑:简简单单 来源:一聚教程网
非常简单的改动
1、includes/lib_goods.php下
找到这两个函数改成我这样就行
代码如下 | 复制代码 |
function get_categories_tree($cat_id = 0) function get_child_tree($tree_id = 0) /** * 获得指定分类同级的所有分类以及该分类下的子分类 * * @access public * @param integer $cat_id 分类编号 * @return array */ function get_categories_tree($cat_id = 0) { if ($cat_id > 0) { $sql = 'SELECT parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cat_id'"; $parent_id = $GLOBALS['db']->getOne($sql); } else { $parent_id = 0; } /* 判断当前分类中全是是否是底级分类, 如果是取出底级分类上级分类, 如果不是取当前分类及其下的子分类 */ $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$parent_id' AND is_show = 1 "; if ($GLOBALS['db']->getOne($sql) || $parent_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); foreach ($res AS $row) { if ($row['is_show']) { /*获得分类下商品总数 雕鹰团队:QQ284265134 */ $children = get_children($row['cat_id']); $sql = 'SELECT count(*)' . "FROM " . $GLOBALS['ecs']->table('goods') . ' AS g '. 'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND '. 'g.is_delete = 0 AND (' . $children . 'OR ' . get_extension_goods($children) . ') '; $cat_goods_num=$GLOBALS['db']->getOne($sql); $cat_arr[$row['cat_id']]['goods_num'] = $cat_goods_num == '' ? 0 : $cat_goods_num; $cat_arr[$row['cat_id']]['id'] = $row['cat_id']; $cat_arr[$row['cat_id']]['name'] = $row['cat_name']; $cat_arr[$row['cat_id']]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']); if (isset($row['cat_id']) != NULL) { $cat_arr[$row['cat_id']]['cat_id'] = get_child_tree($row['cat_id']); } } } } if(isset($cat_arr)) { return $cat_arr; } } function get_child_tree($tree_id = 0) { $three_arr = array(); $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$tree_id' AND is_show = 1 "; if ($GLOBALS['db']->getOne($sql) || $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); foreach ($res AS $row) { /*获得分类下商品总数 雕鹰团队:QQ284265134 */ $children = get_children($row['cat_id']); $sql = 'SELECT count(*)' . "FROM " . $GLOBALS['ecs']->table('goods') . ' AS g '. 'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND '. 'g.is_delete = 0 AND (' . $children . 'OR ' . get_extension_goods($children) . ') '; $cat_goods_num=$GLOBALS['db']->getOne($sql); $three_arr[$row['cat_id']]['goods_num'] = $cat_goods_num == '' ? 0 : $cat_goods_num; if ($row['is_show']) $three_arr[$row['cat_id']]['id'] = $row['cat_id']; $three_arr[$row['cat_id']]['name'] = $row['cat_name']; $three_arr[$row['cat_id']]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']); if (isset($row['cat_id']) != NULL) { $three_arr[$row['cat_id']]['cat_id'] = get_child_tree($row['cat_id']); } } } return $three_arr; } |
library/group_buy.lbi
注意这里:原版的lefttime.js是定义的单个ID
这里循环了,ID重复一定报错。
这里怎么解决呢?你可以自己从JS文件夹里新复制一个lefttime.js这里我命名为:lefttime1.js;调用
代码如下 | 复制代码 |
: |
相关文章
- Magento中显示指定分类产品 子分类及分类产品数量 09-10
- ecshop分类树显示所有分类的解决方法 08-14
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31