Heim >CMS-Tutorial >DEDECMS >Wie erhält DEDECMS die Anzahl der Artikel in der aktuellen Spalte und allen Unterspalten?

Wie erhält DEDECMS die Anzahl der Artikel in der aktuellen Spalte und allen Unterspalten?

藏色散人
藏色散人Original
2019-12-19 09:51:382608Durchsuche

Wie erhält DEDECMS die Anzahl der Artikel in der aktuellen Spalte und allen Unterspalten?

Wie erhält DEDECMS die Anzahl der Artikel in der aktuellen Spalte und allen Unterspalten?

Der folgende Code wird verwendet, um die Gesamtzahl der Artikel in der aktuellen Spalte und allen Unterspalten unter der aktuellen Spalte abzufragen. Fügen Sie ihn zu /include/common.func.php hinzu

oder /include/extend.rufen Sie dann getTotalArcByTid(1) in der Vorlage auf.

Empfohlenes Lernen: Dreamweaver cms

Der Code lautet wie folgt:

/* 
* 返回符合记录的文章数量 
* @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;); 
}

Aufrufmethode:

Die in der aufgerufene Methode Die Vorlage lautet im Allgemeinen:

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

oder

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

Das obige ist der detaillierte Inhalt vonWie erhält DEDECMS die Anzahl der Artikel in der aktuellen Spalte und allen Unterspalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn