dede中统计栏目文章数的2种实现方法

时间:2022-11-09 00:44:33

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