`

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}



另一种方法,未测试

http://www.moke8.com/article-6567-1.html




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics