dedecms增加php函數功能及在列表頁獲取當前欄目的文章數
打開include/common.func.php,在其中任一行(的中間任一行)中加上如下函數.
function dynamic_num($current_id){
global $dsql;
$t_num = $dsql->GetOne("select count(*) as num from `dede_archives` where typeid='$current_id'");
if(is_array($t_num)){
return "本欄目共有".$t_num[num]."篇文章";
}else{
return "本欄目共有0篇文章" ;
}
}
在列表頁中這樣調用:{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}
加入函數:
//統計包括子欄目的文章數****
function GetArtTotal($id){
//*****統計欄目文章數
//1.統計當前欄目文章數
$dsql = new DedeSql(false);
$row = $dsql->GetOne("select count(id) as ArtSum from dede_archives where typeid=$id; ");
//2.統計子欄目文章數
$dsql = new DedeSql(false);
//$sql = TypeGetSunID($tid,$dsql);取得子欄目ID
$rowSun = $dsql->GetOne("Select count(t.ID) as dd from dede_archives t left join dede_arctype u1 on u1.id=t.typeid
where (u1.reID=$id) ");
//3. 1+2得出總文章數
return $row['ArtSum']+$rowSun['dd'];
}
//******統計包括子欄目的文章數
調用方法:
{dede:channel type='self' row='100'? }[field:typename/]([field:id function=GetArtTotal(@me)/]){/dede:channel}
當前欄目h2>
{dede:channel type='son' currentstyle="~typename~a>"}[field:typename/][field:id function="dynamic_num(@me)" /]a>{/dede:channel}p>
div>