原文来自:https://www.zixuephp.com
Dedecms实现自动统计当前栏目文档总数2种方法
统计当前栏目有多少文章数量我们有两种办法,一种直接在模板页面运行php 并执行sql,还有一种是直接在extend.func.php中加一个统计函数,然后在模板页面调用即可.
SQL语句中,有统计的函数,我们可以通过在织梦中使用SQL语句统计的方法,在列表页内显示该栏目共有多少篇文章,这样做的好处是,有助于提升用户体验,比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇,这样用户对网站的信息就一目了然了.
实现这个功能有2种方法:
第一种:runphp='yes'
第一种实现方法就是利用织梦自带的runphp参数来实现这个功能,只需要在您需要显示统计数量的地方直接加入以下代码:
- {dede:field.typeidrunphp='yes'}
- global$dsql;
- $row=$dsql->GetOne("selectcount(*)asddfromdede_archiveswheretypeid=@me");
- @me=$row['dd'];
- {/dede:field.typeid}
保存后重新生成Html文件即可看到具体的效果,但请注意:
1.本代码无法统计副栏目的文档;
2.本代码可用在列表和内容页;
3.代码生成后的效果的动态的,如果添加完内容,必须重新生成相关页面;
4.无法统计无主表(例如:分类信息)的文档总数;
第二种:function
第二种就是我们通常所说的函数,在织梦(DedeCMS)中,我们可以利用自定义函数来实现各种效果,实现的具体方法为:
1.在/include/extend.func.php 文件的?>上一行加入以下代码:
- functionGetTypeNum($tid){
- global$dsql;
- $row=$dsql->GetOne("selectcount(*)asddfromdede_archiveswheretypeid=$tid");
- return$row['dd'];
- }
2.在模板需求统计栏目文档的地方加入以下代码:
{dede:field.typeid function="GetTypeNum(@me)"/}
保存后生成警惕Html即可,在这里实际上就是执行了自定义函数接口中的GetTypeNum函数,其注意事项与runphp='yes'方法一样.