首页 > CMS > 织梦DEDE > 正文

织梦模板如何在子栏目中调用其文章数量统计

2024-07-12 08:49:26
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了织梦模板如何在子栏目中调用其文章数量统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

      有的用户在织梦模板制作过程中要求在网站的子栏目调用当前栏目的栏目类表和其文章数量统计。这个要求对于一般的普通新手用户来说是比较难实现的,下面织梦模板网就给大家分享一下实现办法。

调用当前栏目的子栏目列表,有以下三种方式供大家选择:

方式一、

{dede:sonchannel}  <a href='[field:typeurl/]'>[field:typename/]</a>  {/dede:sonchannel}

 方式二、

{dede:channel type='son' noself='yes'}  <li><a href="[field:typelink/]">[field:typename/]</a></li>  {/dede:channel}

 方式三、

{dede:channel type='son' typeid=‘栏目ID’ noself='yes'}  <li><a href="[field:typelink/]">[field:typename/]</a></li>  {/dede:channel}

下面介绍调用子栏目的文章数量统计

在/include/common.func.php 或者 /include/extend.func.php最下方处添加以下代码:

/*   * 返回符合记录的文章数量   * @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,',');   }

然后再在模板中调用这个标签,下面2个标签可以任选其一

{dede:field.typeid function="getTotalArcByTid(@me)"/}
[field:typeid function="getTotalArcByTid(@me)"/]

目标实现。

以上就是织梦模板如何在子栏目中调用其文章数量统计的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表