- 简单直接下载:点击链接直接下载文件。
- 记录下载次数:点击链接后,文件开始下载,同时文章的下载次数会增加。
下面我将详细介绍这两种方法的实现步骤,强烈推荐使用第二种方法,因为它能帮助你了解资源的受欢迎程度。

简单直接下载(不记录次数)
这种方法最简单,直接使用HTML的 <a> 标签即可。
步骤:
-
上传文件: 将你想要提供的下载文件(如
.zip,.pdf,.doc等)通过FTP或DedeCMS后台的“文件管理器”上传到你的网站服务器上,建议创建一个专门的目录来存放这些文件,/uploads/download/。 -
获取文件路径: 上传成功后,记下该文件在你的网站上的完整路径,文件上传到了
uploads/download/website_manual.zip,那么它的完整路径就是https://www.yourdomain.com/uploads/download/website_manual.zip。
(图片来源网络,侵删) -
中添加链接: 登录DedeCMS后台,找到你想要添加下载功能的文章,进入编辑模式。 在文章内容编辑器(如百度编辑器)中,输入你想要的下载说明文字,点击下载网站使用手册”。 选中这段文字,然后点击编辑器工具栏上的“插入超链接”按钮(通常是一个链条图标)。
-
设置链接地址: 在弹出的窗口中,将“链接地址”一栏填写为你刚才获取的文件完整路径。 目标可以选择“新窗口打开”,这样用户点击下载后,当前页面不会关闭。 然后点击“确定”。
-
保存文章: 发布或更新文章,用户点击这个链接就会直接下载文件了。
优点:操作极其简单,无需修改任何代码。 缺点:无法统计下载次数,无法了解资源的受欢迎程度。

记录下载次数(推荐)
这种方法需要修改一个DedeCMS的核心文件,但功能更完善,是官方和用户都推荐的标准做法。
实现原理:
用户点击的不是文件本身的链接,而是一个指向DedeCMS下载处理页面的链接(如 plus/download.php),这个页面会做三件事:
- 获取要下载的文件ID。
- 将对应文章的下载次数
download字段加1。 - 将浏览器重定向到实际的文件地址,开始下载。
步骤:
第1步:确保文章模型有“下载次数”字段
默认情况下,DedeCMS的文章模型(article_add)已经包含了 download 字段,用于存储下载次数,如果没有,你需要手动添加。
- 进入DedeCMS后台,点击“核心” -> “内容模型管理”。
- 点击列表中的“普通文章”或你正在使用的模型。
- 在字段管理中,检查是否存在名为
download的字段,如果不存在,点击“增加新字段”。- 字段名:
download - :
下载次数 - 字段类型:
数字 - 其他选项保持默认即可。
- 字段名:
- 保存后,数据库表
dede_archives中就有了download字段。
第2步:修改文章模板
你需要修改文章的显示模板,让下载次数可以被调用。
- 进入后台,点击“模板” -> “默认模板管理”。
- 找到并打开你正在使用的文章内容页模板,通常是
article_article.htm。 - 在你希望显示下载次数的地方(例如文章标题下方或正文末尾),添加以下代码:
下载次数:<span class="download_count">{dede:field.download/}</span> 次
保存模板,文章页面就会显示该文章的下载次数了。
第3步:修改核心文件 download.php
这是最关键的一步,我们需要修改DedeCMS自带的下载处理脚本。
-
通过FTP或服务器文件管理器,找到并下载
/plus/download.php文件。 -
用代码编辑器(如VS Code, Sublime Text, Notepad++)打开它。
-
找到下面这一行代码(通常在第40行左右):
$link = trim($link);
-
在这一行代码的下面,添加以下代码:
// 增加文章下载次数 $dsql->ExecuteNoneQuery("UPDATE `dede_archives` SET `download` = `download` + 1 WHERE `id` = $aid");代码解释:
$aid是当前文章的ID,download.php页面本身已经获取了这个变量。UPDATEdede_archives`` 是要更新的数据表,这是DedeCMS存储文章基本信息的表。SETdownloaddownload+ 1是将download字段的值在原有基础上加1。WHEREid= $aid是条件,确保只更新当前文章的下载次数。
-
保存并上传覆盖
/plus/download.php文件。
第4步:在文章中添加下载链接
你可以在文章内容中添加下载链接了,这个链接指向的是 plus/download.php,并带上文章ID aid。
-
进入文章编辑页面。
-
在编辑器中输入下载说明文字,如“点击下载网站使用手册”。
-
选中文字,点击“插入超链接”按钮。
-
在“链接地址”中填写以下格式的URL:
https://www.yourdomain.com/plus/download.php?aid={dede:field.id/}重要:这里的
{dede:field.id/}是DedeCMS的模板标签,它会自动替换为当前文章的实际ID,你不需要手动填写。 -
“目标”选择“新窗口打开”,然后点击“确定”。
-
保存并更新文章。
完成!
当用户点击“点击下载网站使用手册”这个链接时,会发生以下事情:
- 浏览器请求
plus/download.php?aid=123(假设文章ID是123)。 download.php执行我们添加的代码,将dede_archives表中ID为123的记录的download字段加1。download.php将用户重定向到实际的文件地址,文件开始下载。- 用户在页面上看到的下载次数也随之更新了。
总结与注意事项
| 特性 | 方法一 (简单下载) | 方法二 (记录次数) |
|---|---|---|
| 优点 | 简单,无需修改代码 | 功能完善,可统计资源热度 |
| 缺点 | 无法统计下载次数 | 需要修改核心文件,有风险 |
| 适用场景 | 临时分享、对数据无要求的场景 | 正式网站、资源下载站、需要数据分析的场景 |
重要提醒:
- 修改核心文件有风险:在进行任何核心文件修改前,务必备份原文件!这样如果修改出错,可以轻松恢复。
- 文件路径:确保你提供给用户的文件路径是正确的、可访问的。
- 权限问题:确保
plus/download.php文件具有可执行权限(通常是755或644)。 - 安全考虑:如果下载的是敏感文件,确保这些文件不能被直接通过URL访问(即不放在网站根目录下,或通过服务器配置进行保护)。
希望这个详细的教程能帮助你在DedeCMS中成功实现文章下载功能!
