在网站建设中,显示栏目下的文章数量是一个常见的需求。这不仅能够提升用户体验,还能让网站结构更加清晰。本文将详细介绍如何实现这一功能,并通过SEO友好的方式呈现。

要实现显示栏目下文章数量的功能,我们需要对代码进行一些修改和调用。以下是具体步骤:

首先,打开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'];
}
//统计栏目文章数结束

这段代码的作用是定义一个函数GetTotalArc,用于统计指定栏目及其子栏目的文章总数。

接下来,我们可以通过以下几种方式调用这个功能:

第一种方法是在模板中使用以下代码调用:

[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}

    通过以上步骤,您可以轻松地在网站上显示栏目下的文章数量。这不仅有助于用户快速了解每个栏目的内容丰富程度,还能提高网站的整体用户体验。

    希望这篇文章能帮助您更好地理解和实现这一功能。如果您有任何疑问或需要进一步的帮助,请随时联系。