当前位置:首页 > CMS教程 > ecshop > 列表

ecshop2.7.0商品分类显示数量

发布:smiling 来源: PHP粉丝网  添加日期:2013-11-15 21:38:40 浏览: 评论:0 

1,修改includes/lib_goods.php,改写下两个函数。

  1. function get_categories_tree($cat_id = 0)  
  2. {  
  3.     if ($cat_id > 0)  
  4.     {  
  5.         $sql = 'SELECT parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cat_id'";  
  6.         $parent_id = $GLOBALS['db']->getOne($sql);  
  7.     }  
  8.     else 
  9.     {  
  10.         $parent_id = 0;  
  11.     }  
  12.     
  13.     $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$parent_id' AND is_show = 1 ";  
  14.     if ($GLOBALS['db']->getOne($sql) || $parent_id == 0)  
  15.     {  
  16.         
  17.         $sql = 'SELECT cat_id,cat_name ,parent_id,is_show ' .  
  18.                 'FROM ' . $GLOBALS['ecs']->table('category') .  
  19.                 "WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";  
  20.         $res = $GLOBALS['db']->getAll($sql);  
  21.    $sql = "SELECT cat_id, COUNT(*) AS goods_num " .  
  22.    " FROM " . $GLOBALS['ecs']->table('goods') . " AS g " .  
  23.    " GROUP BY cat_id";  
  24.     $res2 = $GLOBALS['db']->getAll($sql);  
  25.     $newres = array();  
  26.     foreach($res2 AS $row)  
  27.     {  
  28.      $newres[$row['cat_id']] = $row['goods_num'];  
  29.     }  
  30.         foreach ($res AS $row)  
  31.         {  
  32.             if ($row['is_show'])  
  33.             {  
  34.                 $cat_arr[$row['cat_id']]['id']   = $row['cat_id'];  
  35.         $cat_arr[$row['cat_id']]['num']  = !emptyempty($newres[$row['cat_id']]) ? $newres[$row['cat_id']] : 0;  
  36.                 $cat_arr[$row['cat_id']]['name'] = $row['cat_name'];  
  37.                 $cat_arr[$row['cat_id']]['url']  = build_uri('category'array('cid' => $row['cat_id']), $row['cat_name']);  
  38.                 if (isset($row['cat_id']) != NULL)  
  39.                 {  
  40.                     $cat_arr[$row['cat_id']]['cat_id'] = get_child_tree($row['cat_id']);  
  41.                 }  
  42.             }  
  43.         }  
  44.     }  
  45.     if(isset($cat_arr))  
  46.     {  
  47.         return $cat_arr;  
  48.     }  
  49. }  
  50. function get_child_tree($tree_id = 0)  
  51. {  
  52.     $three_arr = array();  
  53.     $sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . " WHERE parent_id = '$tree_id' AND is_show = 1 ";  
  54.     if ($GLOBALS['db']->getOne($sql) || $tree_id == 0)  
  55.     {  
  56.         $child_sql = 'SELECT cat_id, cat_name, parent_id, is_show ' .  
  57.                 'FROM ' . $GLOBALS['ecs']->table('category') .  
  58.                 "WHERE parent_id = '$tree_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";  
  59.         $res = $GLOBALS['db']->getAll($child_sql);  
  60.  
  61.    $sql = "SELECT cat_id, COUNT(*) AS goods_num " .  
  62.    " FROM " . $GLOBALS['ecs']->table('goods') . " AS g " .  
  63.    " GROUP BY cat_id";  
  64.     $res2 = $GLOBALS['db']->getAll($sql);  
  65.     $newres = array();  
  66.     foreach($res2 AS $row)  
  67.     {  
  68.      $newres[$row['cat_id']] = $row['goods_num'];  
  69.     }  
  70.         foreach ($res AS $row)  
  71.         {  
  72.             if ($row['is_show'])  
  73.         $three_arr[$row['cat_id']]['num']  = !emptyempty($newres[$row['cat_id']]) ? $newres[$row['cat_id']] : 0;  
  74.                $three_arr[$row['cat_id']]['id']   = $row['cat_id'];  
  75.                $three_arr[$row['cat_id']]['name'] = $row['cat_name'];  
  76.                $three_arr[$row['cat_id']]['url']  = build_uri('category'array('cid' => $row['cat_id']), $row['cat_name']);  
  77.                if (isset($row['cat_id']) != NULL)  
  78.                    {  
  79.                        $three_arr[$row['cat_id']]['cat_id'] = get_child_tree($row['cat_id']);  
  80.             }  
  81.         }  
  82.     }  
  83.     return $three_arr;  

2.修改category_tree.lib库,写入num变量。

  1. < div class="box">  
  2. < div class="box_1">  
  3. < div id="category_tree">  
  4. < !--{foreach from=$categories item=cat}-->  
  5. < dl>  
  6. < dt>{$cat.name|escape:html}({$cat.num})  
  7. < !--{foreach from=$cat.cat_id item=child}-->  
  8. < dd>{$child.name|escape:html}({$child.num})  
  9. < !--{foreach from=$child.cat_id item=childer}-->  
  10. < dd>  {$childer.name|escape:html}({$childer.num})  
  11. < !--{/foreach}-->  
  12. < !--{/foreach}-->  
  13.  
  14. < !--{/foreach}-->  
  15. < /div>  
  16. < /div> 

Tags: ecshop2 7 0 商品分类 显示

分享到: