查看: 90|回覆: 0

[教程] Dedecms实现自动统计当前栏目文档总数的方法

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-8-29
發表於 2024-1-22 00:00:00 | 顯示全部樓層 |閲讀模式

本文实例讲述了Dedecms实现自动统计当前栏目文档总数的方法。分享给大家供大家参考。具体分析如下:

统计当前栏目有多少文章数量我们常用的有两种办法,一种直接在模板页面运行php 并执行sql,还有一种是直接在extend.func.php中加一个统计函数,然后在模板页面调用即可.

SQL语句中,有统计的函数,我们可以通过在织梦中使用SQL语句统计的方法,在列表页内显示该栏目共有多少篇文章,这样做的好处是,有助于提升用户体验,比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇,这样用户对网站的信息就一目了然了.

现将这2种方法分述如下:

第一种:runphp='yes'

第一种实现方法就是利用织梦自带的runphp参数来实现这个功能,只需要在您需要显示统计数量的地方直接加入以下代码:
 

复制代码
代码如下:
{dede:field.typeid runphp='yes'} 
global $dsql; 
$row = $dsql->GetOne("select count(*) as dd from dede_archives where typeid = @me"); 
@me = $row['dd']; 
{/dede:field.typeid}

保存后重新生成Html文件即可看到具体的效果,但请注意:

 

1.本代码无法统计副栏目的文档;

2.本代码可用在列表和内容页;
3.代码生成后的效果的动态的,如果添加完内容,必须重新生成相关页面;

4.无法统计无主表(例如:分类信息)的文档总数;

第二种:function

第二种就是我们通常所说的函数,在织梦(DedeCMS)中,我们可以利用自定义函数来实现各种效果,实现的具体方法为:

1.在/include/extend.func.php 文件的?>上一行加入以下代码:
 

复制代码
代码如下:
function GetTypeNum($tid){ 
global $dsql; 
$row = $dsql->GetOne("select count(*) as dd from dede_archives where typeid = $tid"); 
return $row['dd']; 
}

2.在模板需求统计栏目文档的地方加入以下代码:

复制代码
代码如下:
{dede:field.typeid function="GetTypeNum(@me)"/}

保存后生成警惕Html即可,在这里实际上就是执行了自定义函数接口中的GetTypeNum函数,其注意事项与runphp='yes'方法一样.

 

希望本文所述对大家的dedecms建站有所帮助。

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部