|
在我们在制作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=''}
[url=[field:typelink /,,[field:typename/,[/url] ([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}
第二种方法:
涉及到文件:根目录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}) |
|