[经验]dede文章列表统计文章总数的两种办法

2017-04-13 21:01:02 dedecms

笔记部落

dede

织梦

模板中,有些客户是希望在列表页统计出文章总数。但是这个方法在官方网站上并没有人去研究,小鱼儿也被这个问题困惑了很久,几经尝试之下,还是找到了两种方法,这两种方法各有千秋,大家可以自行深入探讨一下。

 

第一种方法就是利用织梦内容管理系统自带的runphp参数来实现这个功能,即runphp='yes'

我们在需要显示统计文章总数量的列表页模板,直接添加以下代码:

 

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}

 

然后保存重新生成,就可以看到具体的效果了。

遗憾的是,这个方法有个弊端,那就是无法统计副栏目的文档数量,并且只能用在列表页与内容页模板上,每次添加完新内容,必须重新生成相关页面才可以看到效果。

 

第二种方法则是需要添加自定义函数来实现了。两个步骤就可以

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'];

}

 

以上代码的意思是在function里面添加了自定义函数GetTypeNum函数,让在数据库里面调用统计文章数量。

 

2,然后我们在模板页面上,需要统计栏目文档总数量的地方加入以下代码:

{dede:field.typeid function="GetTypeNum(@me)"/}

保存后重新生成Html就可以了。

 

 

当然了,由于mysql的开放性与织梦系统的开源特质,要实现文章列表统计文章总数其实是有着非常多的办法的,蔚蓝这里只不过是找出其中两种办法,如果大家有更多更好的办法,欢迎大家一起分享哈。