今天在网上看到一个织梦DedeCMS系统列表页自动统计当前栏目文档总数的方法,这里跟大家分享一下!
实现这个功能有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 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. 在模板需求统计栏目文档的地方加入以下代码:
[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID] |
保存后生成警惕Html即可。
在这里实际上就是执行了自定义函数接口中的GetTypeNum函数,其注意事项与runphp='yes'方法一样。