ecshop商品分類樹顯示該分類下的商品數量

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'])


            {


                /*獲得分類下商品總數 */


                $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)


        {


                /*獲得分類下商品總數 */


                $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;


}


在ecshop模板文件中,可能是category_tree.lbi中,也可能是別的庫文件名,總之看模板去改


在{$cat.name}後添加:
({$cat.goods_num})


在{$child.name}後添加:
({$child.goods_num})


在{$childer.name}後添加:
({$childer.goods_num})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章