第一步:创建下载模型(核心步骤)
这是实现下载功能的基础,我们需要一个专门存放下载资源的模型,而不是使用默认的“文章模型”。

(图片来源网络,侵删)
-
登录 DedeCMS 后台。
-
进入 [核心] -> [内容模型管理]。
-
点击 [增加新模型]。
-
填写模型信息:
(图片来源网络,侵删)- 模型名称:
下载资源(或你喜欢的任何名称) - 模型表前缀:
dede_addonsoft(这是 DedeCMS 默认的下载模型表前缀,你也可以自定义,但要注意与system目录下的文件对应) - 字段名:
download(系统会自动生成,无需修改) - 模型介绍:
用于发布各类软件、文档、模板等下载资源。 - 列表条目数:
20(根据你的需要设置)
- 模型名称:
-
增加字段:这是最关键的一步,点击 [增加新字段],为你的下载模型添加必要的字段。
- 软件名称:
- 字段名:
softname - 字段类型:
单行文本 - 字段长度:
100
- 字段名:
- 软件大小:
- 字段名:
softsize - 字段类型:
单行文本 - 字段长度:
50
- 字段名:
- 软件语言:
- 字段名:
language - 字段类型:
单行文本 - 字段长度:
30
- 字段名:
- 授权方式:
- 字名段:
author - 字段类型:
单行文本 - 字段长度:
50
- 字名段:
- 软件等级:
- 字段名:
softlevel - 字段类型:
单行文本 - 字段长度:
20
- 字段名:
- 更新时间:
- 字段名:
updatetime - 字段类型:
日期时间(系统会自动更新)
- 字段名:
- 运行环境:
- 字段名:
os - 字段类型:
单行文本 - 字段长度:
100
- 字段名:
- 官方主页:
- 字段名:
officialurl - 字段类型:
单行文本 - 字段长度:
255
- 字段名:
- 下载地址 (主):
- 字段名:
softlinks - 字段类型:
多文本(或编辑器,方便粘贴多个链接) - 字段长度:
65535
- 字段名:
- 下载地址 (备用):
- 字段名:
softlinks2 - 字段类型:
多文本 - 字段长度:
65535
- 字段名:
- 下载密码:
- 字段名:
softpwd - 字段类型:
单行文本 - 字段长度:
50
- 字段名:
- 下载说明:
- 字段名:
softsay - 字段类型:
编辑器(方便插入图片和格式化文本)
- 字段名:
- 下载次数:
- 字段名:
click - 字段类型:
数字 - 字段长度:
10 - 重要:勾选 “后台增加内容项默认值”,并填入
0,在 “字段是附属表字段” 前打勾。
- 字段名:
- 软件名称:
-
保存模型,完成后,系统会提示你“成功增加内容模型”,并可能需要你更新缓存。
第二步:创建下载栏目
有了模型,就需要一个栏目来存放这些下载资源。
- 进入 [核心] -> [栏目管理]。
- 点击 [增加顶级栏目]。
- 填写栏目信息:
- 栏目名称:
软件下载(或你想要的名称) - 栏目目录:
download(这个目录名将生成在网站根目录下,建议用英文) - 内容模型:选择你刚刚创建的
下载资源模型。 - 列表模板:
default/list_download.htm(我们先使用默认的,后面再自定义) - 文章模板:
default/article_download.htm(这个就是我们即将创建的下载页模板) - 其他信息根据需要填写即可。
- 栏目名称:
第三步:制作下载页模板 (article_download.htm)
这是用户最终看到的下载详情页,你需要创建一个模板文件,并上传到 /templets/default/ 目录下。
- 创建模板文件:在你的电脑上创建一个名为
article_download.htm的文件。 - 编写模板代码:下面是一个完整且功能丰富的模板代码,你可以根据自己网站的风格进行修改。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">{dede:field.title/} - {dede:global.cfg_webname/}</title>
<meta name="description" content="{dede:field.description function='html2text(@me)'/}" />
<meta name="keywords" content="{dede:field.keywords/}" />
<link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/css/bootstrap.min.css">
<style>
body { font-family: "Microsoft YaHei", sans-serif; }
.download-container { max-width: 900px; margin: 20px auto; padding: 20px; background: #fff; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.download-title { font-size: 24px; font-weight: bold; margin-bottom: 15px; border-bottom: 2px solid #007bff; padding-bottom: 10px; }
.download-info { background-color: #f8f9fa; padding: 15px; border-radius: 5px; margin-bottom: 20px; }
.download-info table { width: 100%; }
.download-info td { padding: 8px; border-bottom: 1px solid #dee2e6; }
.download-info td:first-child { font-weight: bold; width: 100px; }
.download-links { margin: 20px 0; }
.download-links h3 { margin-bottom: 15px; }
.btn-download { margin: 5px; padding: 10px 20px; font-size: 16px; }
.password-info { background-color: #fff3cd; border: 1px solid #ffeeba; padding: 10px; border-radius: 5px; margin: 15px 0; }
.password-info strong { color: #856404; }
.download-count { color: #6c757d; font-size: 14px; }
.soft-say { background-color: #e9ecef; padding: 15px; border-radius: 5px; margin-top: 20px; }
</style>
</head>
<body>
<div class="download-container">
<!-- 文章标题 -->
<h1 class="download-title">{dede:field.title/}</h1>
<!-- 下载信息区 -->
<div class="download-info">
<table>
<tr>
<td>软件名称:</td>
<td>{dede:field.softname/}</td>
</tr>
<tr>
<td>软件大小:</td>
<td>{dede:field.softsize/}</td>
</tr>
<tr>
<td>软件语言:</td>
<td>{dede:field.language/}</td>
</tr>
<tr>
<td>授权方式:</td>
<td>{dede:field.author/}</td>
</tr>
<tr>
<td>软件等级:</td>
<td>{dede:field.softlevel/}</td>
</tr>
<tr>
<td>更新时间:</td>
<td>{dede:field.updatetime function='MyDate('Y-m-d H:i',@me)'/}</td>
</tr>
<tr>
<td>运行环境:</td>
<td>{dede:field.os/}</td>
</tr>
<tr>
<td>官方主页:</td>
<td><a href="{dede:field.officialurl/}" target="_blank">{dede:field.officialurl/}</a></td>
</tr>
<tr>
<td>下载次数:</td>
<td>共 <span class="download-count">{dede:field.click/}</span> 次下载</td>
</tr>
</table>
</div>
<!-- 下载地址区 -->
<div class="download-links">
<h3>下载地址</h3>
{dede:field.softlinks/}
<!--
这里会直接输出你在后台填写的多行文本。
<a href="http://example.com/file1.zip" class="btn btn-primary btn-download" target="_blank">下载地址一</a>
<a href="http://example.com/file2.zip" class="btn btn-success btn-download" target="_blank">备用地址一</a>
-->
</div>
<!-- 下载密码区 -->
{dede:if field='softpwd' is='notempty'}
<div class="password-info">
<strong>下载提示:</strong>本资源可能需要下载密码,密码是:<strong>{dede:field.softpwd/}</strong>
</div>
{/dede:if}
<!-- 下载说明区 -->
<div class="soft-say">
<h3>下载说明</h3>
{dede:field.softsay/}
</div>
<!-- 相关推荐 -->
<div style="margin-top: 30px;">
<h3>相关下载</h3>
<ul>
{dede:likeart titlelen='42' row='5'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likeart}
</ul>
</div>
</div>
<script src="{dede:global.cfg_cmsurl/}/static/js/jquery.min.js"></script>
<script>
// 自动增加下载次数
$(document).ready(function() {
$.ajax({
url: "/plus/count.php?view=yes&aid={dede:field.id/}",
type: "GET",
dataType: "json",
success: function(data) {
if(data.success) {
$('.download-count').text(data.click);
}
}
});
});
</script>
</body>
</html>
第四步:后台发布内容并测试
-
发布下载内容:
- 进入 [核心] -> [批量采集/新增内容]。
- 选择你创建的
软件下载栏目。 - 点击 ]。
- 你会看到,发布界面已经变成了你自定义的
下载资源模型的字段,填写所有信息,特别是下载地址。 - 注意:在
下载地址字段中,请使用标准的 HTML<a>标签来创建下载链接,<a href="http://example.com/soft1.zip" class="btn btn-primary btn-download" target="_blank">高速下载通道一</a><br> <a href="http://example.com/soft2.zip" class="btn btn-primary btn-download" target="_blank">高速下载通道二</a>
- 。
-
测试:
- 前往你的网站,点击刚发布的下载文章链接。
- 检查页面是否正常显示,所有自定义字段是否都正确输出。
- 点击下载链接,看是否能正常跳转。
- 刷新页面,检查下载次数是否自动增加。
总结与注意事项
- 模板标签:DedeCMS 模板使用
{dede:field.字段名/}来调用当前文章的自定义字段。{dede:global.cfg_webname/}调用网站名称等全局变量。 - CSS 和 JS:模板中引入了 Bootstrap 的 CSS 和 JS,你可以换成你自己的样式文件,或者直接写在
<style>标签内,以保持模板的独立性。 - 下载次数统计:模板中的 jQuery 代码会调用
/plus/count.php来异步增加下载次数,这是 DedeCMS 的标准做法,不会影响用户下载体验。 - 备用地址:
softlinks2字段你可以用同样的方式在模板中调用{dede:field.softlinks2/},放在主下载地址下方。 - 模板路径:如果你的模板不在
/templets/default/目录下,请确保在后台栏目设置中填写了正确的模板路径。
通过以上四个步骤,你就可以成功创建一个功能完善、外观专业的 DedeCMS 下载页模板了。
