在网站开发中,实现栏目文章数量的统计是一项常见需求。本文将详细介绍如何在Dedecms系统中增加统计栏目文章数的功能,帮助开发者更高效地完成相关任务。

图片[1]-dedecms增加统计栏目文章数的方法-论坛搭建_网站论坛制作_论坛开发建设_800元全包

如上图所示,显示栏目下的文章数量。



实现方法:

打开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] //此中调用当栏目下无文章时显示“0”


示例:

调用指定栏目ID的栏目文章数:

{dede:type typeid='1'}[field:typename/]([field:ID function='GetTotalArc(@me)'/]){/dede:type}

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


调用顶级栏目的栏目文章数:

{dede:channel type='top' row='10' currentstyle="

  • ~typename~
  • "}
  • [field:typename/]([field:ID function='GetTotalArc(@me)'/])

  • {/dede:channel}

    {dede:channel type='top' row='10' currentstyle="

  • ~typename~
  • "}
  • [field:typename/]([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])

  • {/dede:channel}


    调用某一栏目下子栏目的文章数:

    {dede:channel type ='son' typeid ='1' row='10' currentstyle="

  • ~typename~
  • "}
  • [field:typename/]([field:ID function='GetTotalArc(@me)'/])

  • {/dede:channel}

    {dede:channel type ='son' typeid ='1' row='10' currentstyle="

  • ~typename~
  • "}
  • [field:typename/]([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])

  • {/dede:channel}


    文章页/栏目页调用当前栏目的文章数:

    {dede:type}[field:typename/]([field:ID function='GetTotalArc(@me)'/]){/dede:type}

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

    通过上述步骤,您可以轻松实现Dedecms中栏目文章数量的统计功能。无论是调用指定栏目、顶级栏目还是子栏目,都能灵活应用。希望这些内容对您的网站开发有所帮助。

    以上内容结合SEO优化进行了调整,确保关键词分布合理且易于搜索引擎抓取。同时,代码部分已正确封装在标签内,便于复制使用。