当前位置:首页站长学院DEDECMSDEDECMS怎么获取当前栏目及所有子栏目的文章数量
企业营销,就选知企PROSAAS

DEDECMS怎么获取当前栏目及所有子栏目的文章数量

DEDECMS怎么获取当前栏目及所有子栏目的文章数量

DEDECMS怎么获取当前栏目及所有子栏目的文章数量?

以下代码用来解决查询当前栏目及当前栏目下所有子栏目的文章总数,添加到/include/common.func.php 

或者 /include/extend.func.php中,然后在模板中调用getTotalArcByTid(1)。 

推荐学习:织梦cms

代码如下:

/* 
* 返回符合记录的文章数量 
* @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怎么获取当前栏目及所有子栏目的文章数量的详细内容,更多请关注知企PROSAAS其它相关文章!

温馨提示:

文章标题:DEDECMS怎么获取当前栏目及所有子栏目的文章数量

文章链接:https://ceshi.prosaas.cn/6854.html

更新时间:2019年12月19日

声明: 本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:973664285@qq.com我们将第一时间处理! 资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 所有资源仅限于参考和学习,版权归原作者所有,更多请阅读知企PROSAAS协议

给TA打赏
共{{data.count}}人
人已打赏
DEDECMS

dedecms怎么实现游客可以提问、回答及查看

2019-12-19 9:45:03

DEDECMS

dedecms5.7商城系统订单购买怎么修改

2019-12-19 9:56:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索