时间:2021-05-02
以下代码用来解决查询当前栏目及当前栏目下所有子栏目的文章总数,添加到/include/common.func.php
或者
/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)"/]
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了帝国CMS获取当前栏目下子栏目的方法。分享给大家供大家参考。具体实现方法如下:帝国CMS获取当前栏目下面的子栏目复制代码代码如下:[e:loop=
在用dedecms做网站的时候,经常会要调用栏目名称,今天网络把dedecms栏目调用标签在整理在一块,希望对大家做网站有所帮助。1、调用当前栏目的名称 {d
在制作dedecms模板的时候,有时候我们会单独调用文章页单独的栏目名称,那怎么调用呢,按照认下的代码替换就可以了。dedecms文章页调用当前栏目名称标签引用
第一种:在后台发布信息的时候提示:在dedecms栏目中添加文章时,有时候dedecms会提示你所选择的栏目与当前模型不相符,请选择白色的选项!这个主意是你更新
增加栏目一、名词解释父栏目:就是通常所说的大栏目,每个父栏目下面可以包含若干个子栏目和终极栏目。父栏目下不可以直接增加信息(文章)。终极栏目:指没有子栏目的栏目
Copyright © 1999-2023 中企动力科技股份有限公司(300.cn)All Rights Reserved
京公网安备11030102010293号 京ICP证010249-2