如何在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

相关推荐

  • 如何在DedeCMS中每日轻松调用首页单页内容?

    在DedeCMS中,首页调用单页内容可以通过标签实现。具体操作如下:,,1. 登录DedeCMS后台,进入“模板管理”“模板风格设置”;,2. 在需要调用单页内容的模板文件中,添加以下代码:,,“,{dede:field name=’id’ id=’1’/},`,,id`为要调用的单页ID,可以根据实际情况修改。,,3. 保存模板文件并更新缓存;,4. 访问首页,即可看到调用的单页内容。

    2024-10-06
    02
  • 如何仅在DEDECMS中搜索特定多个栏目的文章?

    要实现DEDECMS只搜索指定多栏目下的文章,可以通过修改搜索模块的SQL查询语句来实现。具体步骤如下:,,1. 打开/include/arc.searchview.class.php文件;,2. 找到GetSearchSql()函数;,3. 在$sql变量中添加筛选条件,限制搜索范围为指定多栏目;,4. 保存文件并重新生成搜索页面。,,以下是示例代码:,,“php,function GetSearchSql(&$word,&$typeid,&$starttime,&$endtime,&$mid,&$orderby),{, global $dsql;, $ctag = $_GET[‘ctag’]; // 获取栏目ID列表,用逗号分隔, $channels = explode(‘,’, $ctag);, $channelSql = ”;, foreach ($channels as $channel) {, $channelSql .= ‘ channel=’.$channel.’ or’;, }, $channelSql = rtrim($channelSql, ‘or’); // 去掉最后一个’or’,, $sql = “SELECT id,title,pubdate,typeid,click FROM #@__archives”.DEDETABLE.” WHERE title like ‘%$word%’ and ($channelSql) order by pubdate desc”;, return $sql;,},`,,将上述代码替换到GetSearchSql()`函数中的相应位置,即可实现只搜索指定多栏目下的文章。

    2024-10-14
    03
  • 如何在dedecms中高效添加终极广告?新手必读攻略!

    在织梦后台,进入系统˃系统基本参数˃广告管理,添加新广告位并设置相关参数。

    2024-10-05
    04
  • 如何在DEDECMS首页成功显示分类信息?

    在DEDECMS首页调用分类信息,可以通过以下步骤实现:,,1. 打开DEDECMS的后台管理界面。,2. 进入“模板管理”并选择“首页模板”。,3. 编辑首页的HTML代码。,4. 在需要显示分类信息的位置插入以下代码:,,“php,{dede:arclist type=’index’ row=’10’ titlelen=’30’ infolen=’80’},[field:title/] ([field:stime/]),{/dede:arclist},“,,5. 保存更改并刷新首页,即可看到分类信息的调用效果。

    2024-08-31
    023

发表回复

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

免费注册
电话联系

400-880-8834

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