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}