让dedecms子栏目的调用及其文章数量统计
{dede:sonchannel}
{/dede:sonchannel}
{dede:channel
更多精彩就在: 51免费论文网|www.jxszl.com
type=sonnoself=yes}
{/dede:channel}
{dede:channeltype=sontypeid=‘栏目ID’noself=yes}
{/dede:channel}
子栏目的文章数量统计:
在/include/extend.func.php最下方处添加以下代码:
/*
*返回符合记录的文章数量
*@descriptionDEDE不允许执行子查询,解决栏目下文章统计的问题
*@param$level为真时查询所有子类目
**/
functiongetTotalArcByTid($tid,$level=TRUE){
global$dsql;
$level==TRUE&&$tid=GetSonTypeID($tid);
$sql="SELECTcount(id)astotalfrom`dede_archives`wheretypeidin($tid)";
$result=$dsql->GetOne($sql);
return$result[total];
}
/*
*递归获取符合条件的子栏目
*@param$tid栏目ID
*@returnstring
**/
functionGetSonTypeID($tid)
{
global$dsql;
$dsql->SetQuery("SelectidFrom`dede_arctype`wherereidin($tid)Andishidden<>I.orderbysortrank");
$dsql->Execute($tid);
$typeid=;
while($row=$dsql->GetObject($tid))
{
$typeid.="{$row->id},";
$typeid.=GetSonTypeID($row->id);
}
returntrim($typeid,,);
}
然后用这个标签调用:
{dede:field.typeidfunction="getTotalArcByTid(@me)"/}
[field:typeidfunction="getTotalArcByTid(@me)"/]
原文链接:http://www.jxszl.com/biancheng/dedecms/76689.html