核心思路
- 创建一个新的频道模型:这个模型将专门用来描述一个“下载文件”,它包含标题、文件、大小、简介、点击次数等字段。
- 创建一个栏目:用于存放所有的下载文件,并选择我们刚刚创建的模型。
- 添加下载文件:在创建的栏目中,添加具体的下载文件条目。
- 调用并展示列表:在前台模板文件中,使用 DedeCMS 的标签调用这个栏目下的所有文件,并循环输出成列表。
详细步骤
第一步:创建下载文件模型
-
登录你的 DedeCMS 后台。
(图片来源网络,侵删) -
在左侧菜单栏中,找到 【核心】 -> 【频道模型】 -> 模型管理】。
-
点击右上角的 【增加一个新模型】。
-
填写模型信息:
- 模型名称:填写一个你喜欢的名字,
下载文件。 - 模型表前缀:保持默认的
dede_即可,系统会自动添加_addon后缀。 - 目录默认名:填写一个英文名,
download,这个会影响到你生成栏目后的目录名。 - 模型描述:可以简单写一下,如 “用于管理网站内的各种下载资源”。
- 字段允许为空:建议勾选上,这样在添加内容时某些非必要字段可以不填。
- 列表附加字段:暂时留空。
- 官方收录标记:不勾选。
- 模型名称:填写一个你喜欢的名字,
-
点击 【保存】。
(图片来源网络,侵删) -
为模型添加字段:保存成功后,会自动跳转到字段管理页面,我们需要为这个模型添加一些核心字段。
-
点击 【增加新字段】。
-
字段名:
fileurl(必须小写,不能用数字开头) -
字段类型:
多媒体(上传)
(图片来源网络,侵删) -
字段提示:
下载文件地址 -
是否显示在发布页:是
-
默认值:留空
-
其他选项:保持默认即可,特别是“最大宽度/高度”可以设置一下,防止上传的图片过大。
-
点击 【保存】。
-
再点击一次 【增加新字段】。
-
字段名:
filesize -
字段类型:
数字 -
字段提示:
文件大小 -
是否显示在发布页:是
-
其他选项:可以设置单位,如
KB。 -
点击 【保存】。
-
(可选)再增加一个
filetype字段,类型为单行文本,用于显示文件类型,如ZIP,RAR,PDF。 -
(可选)再增加一个
intro字段,类型为多行文本(文本区域),用于显示文件简介。
-
-
所有字段添加完毕后,点击右上角的 【保存】,至此,一个专用于下载文件的新模型就创建好了。
第二步:创建下载栏目
- 在后台左侧菜单栏,找到 【核心】 -> 【栏目管理】。
- 点击右上角的 【增加顶级栏目】。
- 填写栏目信息:
- 栏目名称:
软件下载。 - 栏目目录:系统会根据模型名自动生成,如
download,你可以修改。 - 类型:这是最关键的一步! 选择我们刚刚创建的
下载文件模型。 - 列表选项:
- 列表模板:稍后我们会创建这个模板文件。
- 发布位置:选择
系统默认。
- 其他选项根据你的需求设置即可。
- 栏目名称:
- 点击 【确定】。
第三步:添加下载文件内容
- 在 【栏目管理】 中,点击你刚创建的
软件下载栏目。 - 点击 【增加普通文章】(虽然叫“文章”,但因为我们选择了下载模型,所以实际是增加下载条目)。
DedeCMS 5.7 正式版。- 缩略图:可以上传一张软件的截图。
- 作者来源:填写作者或来源网站。
- 内容简介:填写软件的简介。
- 下载文件地址:点击后面的上传按钮,选择你要上传的本地文件,或者填写一个外部下载链接(如果字段类型支持的话)。
- 文件大小:系统在上传文件后会自动计算并填充,你也可以手动修改。
- 文件类型:手动输入
ZIP。 - tags:填写相关标签,如
dedecms, cms, 网站程序。
- 点击 【保持】 或 【发布】。
重复此步骤,添加所有你想要提供的下载文件。
第四步:创建并调用下载列表模板
我们需要在前台显示这个下载列表。
-
创建模板文件:
- 通过 FTP 或你的主机文件管理器,进入
/templets/default/目录(或你当前使用的模板目录)。 - 新建一个文件,命名为
list_download.htm。(这里的download必须和你第二步中设置的“栏目目录”一致)。
- 通过 FTP 或你的主机文件管理器,进入
-
编写模板代码:
- 打开
list_download.htm文件,输入以下代码,这是一个基础且完整的列表模板。
<!DOCTYPE html> <html> <head> <meta charset="utf-8">{dede:field.title/}</title> <meta name="keywords" content="{dede:field.keywords/}"> <meta name="description" content="{dede:field.description function='html2text(@me)'/}"> <link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/css/style.css"> <!-- 假设你有一个CSS文件 --> </head> <body> <div class="main"> <h1 class="page_title">{dede:field.title/}</h1> <!-- 文件列表开始 --> <ul class="download_list"> {dede:list pagesize='20'} <li> <div class="file_info"> <span class="file_title"><a href="[field:arcurl/]">[field:title/]</a></span> <span class="file_meta"> <span class="file_type">类型:[field:filetype/]</span> <span class="file_size">大小:[field:filesize/]</span> <span class="file_downs">下载:[field:click/] 次</span> </span> </div> <div class="file_intro"> [field:description function='cn_substr(@me, 100)'/]... </div> <div class="file_op"> <a href="[field:fileurl/]" class="download_btn" target="_blank">立即下载</a> </div> </li> {/dede:list} </ul> <!-- 文件列表结束 --> <!-- 分页条开始 --> <div class="page_nav"> <a href="{dede:global.cfg_cmsurl/}/">首页</a> {dede:pagelist listsize='4' listitem='info,index,pre,next,end,pageno'} </div> <!-- 分页条结束 --> </div> </body> </html> - 打开
-
代码解释:
{dede:list pagesize='20'}:这是核心的列表调用标签,表示获取当前栏目下的文章列表,每页显示20条,因为我们绑定了下载模型,所以这里获取的就是下载条目。[field:arcurl/]:下载条目的详情页链接,如果你点击后想进入一个说明页面,这个链接很有用,如果你希望直接下载,可以换成[field:fileurl/]。[field:title/]:下载文件的标题。[field:filetype/]:我们在模型中添加的“文件类型”字段。[field:filesize/]:我们在模型中添加的“文件大小”字段。[field:click/]:DedeCMS 自带的点击次数统计。[field:description/]:下载文件的简介,我们用cn_substr函数截取了前100个字符。[field:fileurl/]:最重要的字段,指向你上传的文件的直接下载链接。{dede:pagelist/}:分页标签,用于显示翻页链接。
-
美化样式 (CSS): 为了让列表更好看,你可以在
style.css文件中添加以下样式,或者在模板的<head>标签内使用<style>标签直接嵌入。/* 在你的 style.css 文件中添加 */ .download_list { list-style: none; padding: 0; } .download_list li { border: 1px solid #e6e6e6; margin-bottom: 15px; padding: 15px; border-radius: 5px; background-color: #fdfdfd; } .file_info { margin-bottom: 10px; } .file_title a { font-size: 18px; font-weight: bold; color: #333; text-decoration: none; } .file_title a:hover { color: #0066cc; } .file_meta span { margin-right: 15px; color: #999; font-size: 12px; } .file_intro { color: #666; margin: 10px 0; font-size: 14px; } .file_op { text-align: right; } .download_btn { display: inline-block; background-color: #0066cc; color: white; padding: 8px 15px; border-radius: 3px; text-decoration: none; font-weight: bold; } .download_btn:hover { background-color: #0052a3; } .page_nav a { margin: 0 5px; text-decoration: none; color: #333; } .page_nav a:hover { color: #0066cc; }
总结与注意事项
- 模型是核心:通过创建自定义模型,你可以让 DedeCMS 适应各种复杂的内容需求,而不仅仅是文章。
- 文件路径:确保你上传的文件路径是正确的,如果上传到服务器,路径是相对于网站根目录的,如果是外部链接,确保链接有效。
- 安全性:对于付费或会员专享的下载,你需要结合 DedeCMS 的会员和权限系统来做进一步的控制,
{dede:if}标签判断会员等级。 - 更新缓存:在后台修改了模板或模型后,记得点击 【系统】 -> 【一键更新网站】 -> 【更新HTML】 和 【更新缓存】,否则前台可能看不到效果。
按照以上步骤,你就可以成功在 DedeCMS 中制作出一个功能完善、外观整洁的下载文件列表了。
