dedecms 调用栏目(分类)的文章数量的两种方法

dede统计栏目文章数这一功能还是比较实用的,本文为大家介绍两种实现方法,大家可以根据需求自由选择,喜欢的朋友可以参考下

 

方法一: 
涉及到文件:include/common.func.php 
在include/common.func.php最下面也就是?>前加入以下代码

复制代码
代码如下:

function GetTotalArc($tid){ 
global $dsql; 
$sql = GetSonIds($tid); 
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})"); 
return $row['dd']; 
}


调用方法:

复制代码
代码如下:

[field:ID function='GetTotalArc(@me)'/] 
或 
[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]


比如在你的主页模板里添加如下代码: 
共{dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}篇 
或在栏目名称后面添加如下代码:

复制代码
代码如下:

{dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}

 
方法二: 
第一步:打开include/common.func.php文件,在最后的?>之前加上:

复制代码
代码如下:

//统计栏目文章数 
function GetTotalArc($tid){ 
global $dsql; 
$sql = GetSonIds($tid); 
$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})"); 
return $row['dd']; 

//统计结束


第二步: 就可以在模板上用以下代码

复制代码
代码如下:

{dede:channel type='top' typeid=''} 
<a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])

{/dede:channel}


比如在主页模板上栏目名称({dede:field name='typename'/}) 
后面添加如下代码:

复制代码
代码如下:

{dede:type}[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]{/dede:type}