dede中统计栏目文章数的两种方法

时间:2022-08-24 18:38:51
方法一: 

涉及到文件: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}