Filed under: dedecms专栏 |
Posted on November 16th, 2007 by 肥龙龙 | 1 views
在我的博客为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'];
}
$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!
Tags : dedecms, php
Trackback url : http://www.blog-dragon.com/2007/11/dedecms-type-statistic-sp1/trackback/
Trackback url : http://www.blog-dragon.com/2007/11/dedecms-type-statistic-sp1/trackback/
或许你还关心:

December 3rd, 2007 at 4:39 pm
[field:id function=’GetTotalArc(@me)’/] 这个到底怎么用?
直接[field:1 function=’GetTotalArc(@me)’/]
还是
{dede:channel type=’top’}
[field:typename/]数:[field:function=’GetTotalArc(@me)’/] 个
{/dede:channel}
September 22nd, 2008 at 10:15 pm
我也和楼上一样的疑问
[field:id function=’GetTotalArc(@me)’/] 这个到底怎么用?