首頁 >CMS教程 >DEDECMS >DEDECMS怎麼取得目前欄位及所有子欄目的文章數量

DEDECMS怎麼取得目前欄位及所有子欄目的文章數量

藏色散人
藏色散人原創
2019-12-19 09:51:382594瀏覽

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 = &#39;&#39;; 
while($row=$dsql->GetObject($tid)) 
{ 
$typeid .= "{$row->id},"; 
$typeid .= GetSonTypeID($row->id); 
} 
return trim($typeid,&#39;,&#39;); 
}

呼叫方法: 

範本中呼叫的方法一般為: 

{dede:field.typeid function="getTotalArcByTid(@me)"/}

或 

[field:typeid function="getTotalArcByTid(@me)"/]

以上是DEDECMS怎麼取得目前欄位及所有子欄目的文章數量的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn