设为首页加入收藏TAG网站地图

更多更全面的了解和使用织梦cms

当前位置:织梦教程网 > 织梦模板标签 > dedecms增加php函数功能及在列表页获取当前栏目的文章数

dedecms增加php函数功能及在列表页获取当前栏目的文章数

已有人收藏发布时间:2018-10-17 11:02   来源:www.dedejc.com 作者:织梦教程网

打开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}
<div class="cate">
    <h2>当前栏目</>h2>
     <p>{dede:channel type='son' currentstyle="<a href='http://www.dedejs.com/dedecms/style/~typelink~'>~typename~</>a>"}<a href=http://www.dedejs.com/dedecms/style/"[field:typeurl/]">[field:typename/][field:id function="dynamic_num(@me)" /]</>a>{/dede:channel}</>p>
</>div>