POST TIME:2020-03-31 15:32
今天在百度知道看到一个关于列表页自动统计当前栏目文档总数的方法的提问,借此整理下,分享一下方法给大家,希望对大家有所帮助。
实现这个功能有2种方法:
第一种实现方法就是利用织梦自带的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'方法一样。
下一篇:dedecms文章列表倒序排列