香港电台第一台广播:分类下三级菜单

来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 03:15:32

ECSHOP只显示该分类下面的三级分类

|222次阅读 | 2010-09-25 | 标签:ECSHOP分类 | ECSHOP三级分类 | ECSHOP分类显示 |

 在电子商务系统的使用过程中,ecshop很多时候都显示所有分类下面的三级分类,这样给人的感觉很牵强。当点到分类下面分类的时候,只要显示该分类下面的三级分类就行,那么我们该怎么实现这种情况呢?下面给大家说明一下。
 
       在includes/lib_goods.php中,
       增加函数: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
                                   $GLOBALS['ecs']->table('category')
                                   WHERE parent_id = '$parent_id' andcat_id = $cat_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'])
                                { $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 (iet($row['cat_id']) != NULL)
                                { $cat_arr[$row['cat_id']]['cat_id'] =get_child_tree($row['cat_id']); } } } } if(iet($cat_arr)) { return$cat_arr; } }
         保存,然后更新后台缓存,你就发现它只显示该分类下面的所有分类。