dedecms统计栏目文章数量修订版

Filed under: dedecms专栏 |
Posted on

在我的博客为dedecms增加栏目文章统计功能此文中,介绍了如何统计最终列表栏目的文章数目,但是对于含有子栏目的栏目的总体文章数量统计并没有实现,以下的实现办法为修订的方法,可实现任意指定栏目的文章数量统计,包括最终列表栏目和含有子栏目的栏目。

修改include/inc_functions.php文件

function GetTotalArc($typeid){
 
$dsql = new DedeSql(false);
                
if(!empty($typeid))
                
{
                  
$reids = explode(",",$typeid);
                  
$ridnum = count($reids);
                  
if($ridnum>1){
                          
$tpsql = "";
                    
for($i=0;$i<$ridnum;$i++){
                                  
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'');
                                  
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'');
                    
}
                    
$tpsql .= ") ";
                    
$orwhere .= $tpsql;
                    
unset($tpsql);
                  
}else{
                          
$orwhere .= " And ".TypeGetSunID($typeid,$dsql,'');
                  
}
                  
unset($reids);
          
}
  
$row = $dsql->GetOne("Select count(ID) as dd From #@__archives where typeid>0 $orwhere");
  
return $row['dd'];
}

调用方法

[field:id function=’GetTotalArc(@me)’/]

关于dedecms更多修改请参考我的博文:DeDecms专栏

Have fun!

或许你还关心:


本文有 2 Responses

  1. maeotc Says:

    [field:id function=’GetTotalArc(@me)’/] 这个到底怎么用?
    直接[field:1 function=’GetTotalArc(@me)’/]

    还是
    {dede:channel type=’top’}
    [field:typename/]数:[field:function=’GetTotalArc(@me)’/] 个
    {/dede:channel}

  2. sss Says:

    我也和楼上一样的疑问
    [field:id function=’GetTotalArc(@me)’/] 这个到底怎么用?

评论或留言