- 使用DedeCMS自带的“本周热门”标签(最简单、推荐) 这是织梦官方内置的功能,最简单直接,不需要修改代码。
- 手动编写SQL查询标签(更灵活) 当自带的标签无法满足特定需求(需要自定义时间范围或排序规则)时,可以使用这个方法。
使用DedeCMS自带的“本周热门”标签(推荐)
这是最标准、最简单的方法,只需要在模板文件中插入一行代码即可。

(图片来源网络,侵删)
操作步骤:
-
登录网站后台:使用你的管理员账号登录织梦CMS后台。
-
找到模板文件:进入“模板” -> “默认模板管理”,找到你网站首页对应的模板文件,通常是
index.htm。 -
插入标签代码:在你希望显示“本周热门文章”的位置,插入以下代码:
(图片来源网络,侵删){dede:hotartweek row='10'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span>([field:click/])</span> </li> {/dede:hotartweek} -
参数说明:
row='10':表示显示10篇热门文章,你可以根据需要修改这个数字。[field:arcurl/]:文章的链接地址。[field:title/]:文章的标题。[field:click/]:文章的点击次数。
-
保存并更新:保存模板文件,然后回到首页,刷新页面,你就能看到本周热门文章列表了,如果没显示,可能需要点击后台的“更新主页HTML”或“更新缓存”。
优点:
- 无需修改任何文件,纯标签调用。
- 官方支持,稳定可靠。
缺点:

(图片来源网络,侵删)
- 功能相对固定,无法自定义更多条件(比如只显示某个栏目下的热门文章)。
手动编写SQL查询标签(更灵活)
如果你想实现更复杂的需求,只显示‘新闻’栏目下的本周热门文章”,或者“按评论数排序”,就需要使用自定义SQL标签。
操作步骤:
-
登录网站后台,进入“模板” -> “默认模板管理”,打开
index.htm文件。 -
插入自定义SQL标签:在指定位置插入以下代码。
示例1:获取全站本周点击最高的10篇文章
{dede:sql sql='SELECT arc.id, arc.title, arc.click, arc.litpic, tp.typename, tp.id AS typeid FROM dede_archives arc LEFT JOIN dede_arctype tp ON arc.typeid = tp.id WHERE arc.pubdate >= UNIX_TIMESTAMP() - 7*24*3600 ORDER BY arc.click DESC LIMIT 10'} <li> <a href="[field:arcurl function='GetArcUrl(@me)'/]">[field:title/]</a> <span>([field:click/])</span> </li> {/dede:sql}示例2:获取指定栏目(ID=1)下的本周热门文章
{dede:sql sql='SELECT arc.id, arc.title, arc.click, arc.litpic FROM dede_archives arc WHERE arc.pubdate >= UNIX_TIMESTAMP() - 7*24*3600 AND arc.typeid IN (1, 2, 3) -- 1,2,3是你要的栏目ID ORDER BY arc.click DESC LIMIT 10'} <li> <a href="[field:arcurl function='GetArcUrl(@me)'/]">[field:title function='cn_substr(@me, 30)'/]</a> <span>([field:click/])</span> </li> {/dede:sql} -
代码详解:
sql='...':这里是完整的SQL查询语句。dede_archives:织梦的文章主表。dede_arctype:织梦的栏目表。arc.pubdate >= UNIX_TIMESTAMP() - 7*24*3600:这是核心的时间筛选条件。UNIX_TIMESTAMP():获取当前时间的时间戳。7*24*3600:7天(7天 24小时 3600秒)的秒数。- 整个条件的意思是:发布时间大于等于“当前时间减去7天”,也就是“本周”。
ORDER BY arc.click DESC:按点击量(click字段)降序排列,得到热门文章。LIMIT 10:限制只返回10条结果。IN (1, 2, 3):这是筛选栏目的条件,1, 2, 3是你要限制的栏目ID,去掉这个条件就是全站。[field:arcurl function='GetArcUrl(@me)'/]:因为自定义SQL中没有直接生成文章URL的字段,所以需要用这个函数来根据文章ID生成链接。[field:title function='cn_substr(@me, 30)'/]进行截取,例如只显示前30个字符,防止标题过长影响布局。
优点:
- 功能非常强大,可以自定义任意查询条件。
- 精准控制数据来源和排序方式。
缺点:
- 需要懂一些基本的SQL语句。
- 如果SQL语句写错,可能会导致页面报错。
总结与建议
| 特性 | 自带标签 | 自定义SQL |
|---|---|---|
| 易用性 | 极高,无需任何代码知识 | 较低,需要了解SQL语法 |
| 灵活性 | 较低,功能固定 | 极高,可自定义任意条件 |
| 适用场景 | 99%的普通网站需求 | 需要特殊筛选、排序或复杂查询的场景 |
给你的建议:
- 如果你只是想在首页显示一个简单的本周热门文章列表,请优先使用方法一,它简单、快速、稳定。
- 如果你有更复杂的需求,本周最热门的评论文章”、“本周某个特定分类下的热门文章排行”等,那么使用方法二来定制你的专属标签。
希望这个详细的解释能帮助你成功实现“Dede本周热门文章”的功能!
