在制作DEDECMS模板时,为了提升网站的美观性,我们常常需要在栏目导航处添加栏目文章数统计显示的功能。这一功能可以让用户直观地了解到每个栏目下的文章数量。以下是一个详细的实现方法,帮助您轻松完成这一任务。

在DEDECMS中增加统计文章数的功能有多种方法,以下是两种较为常用的解决方案:

第一种方法

第一步:打开网站根目录下的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=''}
[field:typename/] ([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})

通过以上两种方法,您可以轻松地为DEDECMS网站的栏目添加文章数量统计功能。这不仅能够提高用户体验,还能让您的网站更加专业和信息透明。希望这些技巧对您有所帮助!