织梦dede怎么调用当前栏目下的文章数

织梦教程 强烈建议 2024-02-06 13:42 89 0

  今天做网站的时候要求要好多分类,每个分类下边需要有文章,可是在考虑到用户体验方面。我就想如果加上当前栏目下边的条数 会让读者一幕了然;

  所以我特意查了一下资料,在这分享给大家:

  ***种方法

  打开include/common.func.php文件

  在***后的?>之前加上

  //统计栏目文章数

  function GetTotalArc($tid){

  global $dsql;

  $sql=GetSonIds($tid);

  $row=$dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");

  return $row['dd'];

  }

  然后就可以在上用

  {dede:channel type='son' row='20'}

  

[field:typename/]([field:ID runphp='yes'] @me=GetTotalArc(@me);[/field:ID])

  {/dede:channel} 进行调用,[field:ID runphp='yes'] @me=GetTotalArc(@me);[/field:ID]这个就是调用的总数

  第二种方法

  打开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); $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:field.typeid function="GetArtTotal(@me)"/}



时间:(2024-02-06 13:42:57)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!