在网站建设中,显示栏目下的文章数量是一个常见的需求。这不仅能够提升用户体验,还能让网站结构更加清晰。本文将详细介绍如何实现这一功能,并通过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}
通过以上步骤,您可以轻松地在网站上显示栏目下的文章数量。这不仅有助于用户快速了解每个栏目的内容丰富程度,还能提高网站的整体用户体验。
希望这篇文章能帮助您更好地理解和实现这一功能。如果您有任何疑问或需要进一步的帮助,请随时联系。