DEDECMS 获取当前栏目及所有子栏目的文章数量
2010-04-30 23:48
696 查看
以下代码用来解决查询当前栏目及当前栏目下所有子栏目的文章总数,添加到/include/common.func.php
或者
/include/extend.func.php中,然后在模板中调用getTotalArcByTid(1)。
调用方法:
模板中调用的方法一般为:
{dede:field.typeid function="getTotalArcByTid(@me)"/}
或者
[field:typeid function="getTotalArcByTid(@me)"/]
或者
/include/extend.func.php中,然后在模板中调用getTotalArcByTid(1)。
/* * 返回符合记录的文章数量 * @description DEDE不允许执行子查询,解决栏目下文章统计的问题 * @param $level 为真时查询所有子类目 * */ function getTotalArcByTid($tid, $level=TRUE) { global $dsql; $level==TRUE && $tid = GetSonTypeID($tid); $sql = "SELECT count(id) as total from `dede_archives` where typeid in($tid)"; $result = $dsql->GetOne($sql); return $result['total']; } /* * 递归获取符合条件的子栏目 * @param $tid 栏目ID * @return string * */ function GetSonTypeID($tid) { global $dsql; $dsql->SetQuery("Select id From `dede_arctype` where reid in($tid) And ishidden<>1 order by sortrank"); $dsql->Execute($tid); $typeid = ''; while($row=$dsql->GetObject($tid)) { $typeid .= "{$row->id},"; $typeid .= GetSonTypeID($row->id); } return trim($typeid,','); }
调用方法:
模板中调用的方法一般为:
{dede:field.typeid function="getTotalArcByTid(@me)"/}
或者
[field:typeid function="getTotalArcByTid(@me)"/]
相关文章推荐
- DEDECMS 获取当前栏目及所有子栏目的文章数量
- 织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
- dedecms增加php函数功能及在列表页获取当前栏目的文章数
- dedecms增加php函数功能及在列表页获取当前栏目的文章数
- dedecms如何调用当前栏目的子栏目及子栏目文章
- dedecms中,获取某一栏目所有子栏目
- 帝国cms循环列出所有子栏目名,和当前子栏目下的文章列表和所有栏目信息数
- 在dedecms文章页中获取当前栏目字段如content字段
- 织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
- dedeCMS-顶级栏目输出所有子栏目文章 问题的解决方案
- dedecms获取当前文章所在栏目URL
- dedecms织梦系统列表页,频道页获取当前栏目的顶级栏目名称
- dedecms 列表页,频道页获取当前栏目的父栏目名称的实现方法
- 用过SQL语句获取织梦DedeCMS每个栏目各有多少文章
- DTCMS自定义标签,获取所有栏目文章列表TOP,以及文章通用URL
- DedeCMS获取文档当前栏目所在目录链接URL
- 帝国cms 灵动标签【列表页】调用当前父栏目下的所有子栏目
- dedecms在文章页(内容页)和栏目页获取顶级栏目名字和链接
- dedecms 获取当前栏目url和内容页url的办法
- php获取父级栏目下的所有子栏目