如何在DEDECMS网站栏目中增加统计文章数的功能方法

在我们在制作dedecms模板的时候,通常会为了让网站美观,要在栏目导航处添加栏目文章统计显示的代码,让页面显示每个栏目下的文章数量,如下图所示:

DEDECMS网站栏目中为增加统计文章数的功能方法


有两种法可以解决这个问题:
第一种法:

第1步:打开网站根目录下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'];

}

//统计结束

第2步: 然后在模板上使用以下代码

{dede:channel type='top' typeid=''}

<a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])<br>

{/dede:channel}

比如在首页模板上栏目名称({dede:field name='typename'/})

后面添加如下代码:

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

 

第二种方法:

涉及到文件:根目录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})

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b1347f2ef19f7e611bf879534820ab6a.html