php,{dede:channel type='top'},[field:typename] ([field:total]),{/dede:channel},
`,,上述代码使用了DedeCMS的
{dede:channel}标签来遍历顶级栏目,并使用
[field:typename]和
[field:total]`分别获取栏目的名称和文章总数。你可以将以上代码插入到你的模板文件中,然后DedeCMS会自动生成每个栏目下的文章总数列表。,,以上代码仅为示例,具体的实现可能因你使用的DedeCMS版本和模板而有所不同。在实际使用时,请根据你的需求进行相应的调整。 在DEDECMS中,获取每个栏目下的文章总数可以通过修改系统文件或添加自定义函数来实现,以下是几种常见的方法:
方法一:通过修改include/helpers/channelunit.helper.php文件
1、步骤:
打开include/helpers/channelunit.helper.php
文件。
在文件末尾添加以下代码:
/** * 获取指定栏目下面的文章数量 * @param string $id 栏目id * @param string $addthis 是否包含子栏目 * @return string */ if ( ! function_exists('getTypeArcLength')) { function getTypeArcLength($id,$addson=true) { global $dsql; if($addson) { $types = GetSonIds($id); $sql = "SELECT count(id) as len FROM idea_arctiny where typeid IN ($types)"; } else { $sql = "SELECT count(id) as len FROM idea_arctiny where typeid = $id"; } $arclen = $dsql>GetOne($sql); return $arclen['len']; } }
2、调用:
在模板中使用以下标签进行调用:
{dede:field.id function="getTypeArcLength(@me,false)"/}
或者在特定栏目ID的情况下:
{dede:type typeid='24'}[field:id function="getTypeArcLength(@me,false)"/]{/dede:type}
方法二:通过修改include/common.func.php文件
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=''} <a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])<br> {/dede:channel}
或者针对单独的栏目ID,使用以下代码:
{dede:ID runphp='yes'} @me=1; @me = GetTotalArc(@me);{/dede:ID}
方法三:通过SQL语句直接统计
1、步骤:
打开include/common.func.php
文件。
在文件末尾添加以下代码:
function GetTotalArcByTid($tid, $level=TRUE) {
global $dsql;
$level==TRUE && $tid = GetSonTypeID($tid);
$sql = "SELECT count(id) as total fromdede_archives
where typeid in($tid)";
$result = $dsql>GetOne($sql);
return $result['total'];
}
2、调用:
在模板中使用以下代码:
{dede:field.typeid function="getTotalArcByTid(@me)"/}
或者针对单独的栏目ID,使用以下代码:
{dede:field.typeid function="getTotalArcByTid(@me)"/}
相关问答FAQs
问题1:如何在首页显示每个栏目及其子栏目的文章总数?
答:可以在首页模板中使用如下代码来显示每个栏目及其子栏目的文章总数:
{dede:channel type='top' typeid=''} <a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])<br> {/dede:channel}
问题2:如何只统计当前栏目下的文章数量,而不包括子栏目?
答:可以使用如下代码只统计当前栏目下的文章数量,而不包括其子栏目:
{dede:ID runphp='yes'} @me=1; @me = GetTotalArc(@me, false);{/dede:ID}
栏目名称 | 文章总数 |
栏目一 | 20 |
栏目二 | 30 |
栏目三 | 15 |
栏目四 | 25 |
栏目五 | 10 |
注:以上表格中的数据仅为示例,实际文章总数请根据实际内容进行修改。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。