如何在Dedecms列表页模板中获取当前栏目的文章数量?

DedeCMS列表页模板中,可以使用以下代码调用当前栏目文章数:,,“php,{dede:field name='total'/},

DedeCMS中,要在列表页模板中调用当前栏目文章数,可以通过修改include/common.func.php文件来添加自定义函数,具体步骤如下:

如何在Dedecms列表页模板中获取当前栏目的文章数量?

修改 include/common.func.php 文件

1、统计当前栏目文章数

   // 统计当前栏目文章数
   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'];
   }

2、统计包括子栏目的文章数

如何在Dedecms列表页模板中获取当前栏目的文章数量?


   // 统计包括子栏目的文章数
   function dynamic_num($current_id){
       global $dsql;
       // 读取当前栏目的子ID
       $sql = "SELECT id FROMdede_arctype WHERE id='$current_id' OR topid='$current_id'";
       $dsql>SetQuery($sql);
       $dsql>Execute();
       while($row = $dsql>GetArray()){
           $arr[]=$row[id];
       }
       foreach($arr as $key=>$value){
           $type .= $value . ',';
       }
       $ty = rtrim($type, ',');
       //echo $ty;
       $t_num = $dsql>GetOne("select count(*) as num fromdede_archives where typeid in($ty)");
       //echo $t_num[num];
       if(is_array($t_num)){
           return "本栏目共有".$t_num[num]."篇文章";
       }else{
           return "本栏目共有0篇文章" ;
       }
   }

模板中的调用代码

在模板文件中,可以使用以下代码来显示当前栏目的文章数:

{dede:field name='typename'/}</b>(该类拥有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}个文档)

或者:

如何在Dedecms列表页模板中获取当前栏目的文章数量?

<li><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>

通过以上方法,可以在DedeCMS的列表页模板中成功调用并显示当前栏目的文章数量,从而增强用户体验和网站的信息展示效果。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1219591.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-17 00:47
下一篇 2024-10-17 00:55

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入