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