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