封面模板是用户访问网站首页时看到的页面,它通常由多个模块组成,用于展示网站的核心内容,如文章列表、图片轮播、推荐内容等。

下面我将从基础概念、制作流程、常用标签和一个完整实例四个方面,为你提供一份详尽的 Dedecms 封面模板制作指南。
基础概念
在开始制作之前,你需要了解 Dedecms 模板系统的几个核心概念:
-
模板目录结构:
- Dedecms 的模板文件通常存放在
/templets/目录下。 - 你可以为你的网站创建一个专属的文件夹,
/templets/your_site_name/。 - 在这个文件夹里,通常会创建以下子目录来存放不同类型的模板文件:
default/:默认风格模板。images/:存放当前模板用到的所有图片。style/:存放 CSS 样式表文件(如style.css)。js/:存放 JavaScript 文件(如jquery.min.js,index.js)。block/:存放“块模板”或“文件模板”,用于制作可复用的模块。
- Dedecms 的模板文件通常存放在
-
模板文件命名:
(图片来源网络,侵删)- 封面模板:
index.htm(固定名称,必须放在你的模板目录根下) - 列表页模板:
list_栏目ID.htm(栏目ID为1的列表页模板为list_1.htm) - 页模板:
article_栏目ID.htm(栏目ID为1的内容页模板为article_1.htm) - 其他页面模板:可以自定义,如
search.htm(搜索页),guestbook.htm(留言页) 等。
- 封面模板:
-
模板引擎:
- Dedecms 使用自己的模板引擎,它通过特定的 来调用数据库中的内容。
- 这些标签类似于 HTML 的标签,但被 包围,
{dede:arclist}。 - 当用户访问网站时,DedePHP引擎会解析这些标签,从数据库获取数据,并最终生成纯 HTML 页面返回给用户。
制作流程
制作一个 Dedecms 封面模板通常遵循以下步骤:
步骤 1:准备设计稿 在动手写代码之前,先用 Photoshop、Figma 或其他设计软件设计出首页的布局和样式,将设计稿切图,得到所需的图片素材,并整理好 CSS 和 JS 文件。
步骤 2:创建模板目录和文件

- 登录你的 FTP 或服务器文件管理器。
- 进入
/templets/目录,创建一个新的文件夹,mycompany。 - 在
mycompany目录下创建子目录:images,style,js。 - 将你的切图图片上传到
images目录。 - 将你的 CSS 文件上传到
style目录,并命名为style.css。 - 将你的 JS 文件上传到
js目录。 - 在
mycompany目录下创建一个名为index.htm的空白文件,这就是你的封面模板文件。
步骤 3:编写 HTML 框架
打开 index.htm 文件,先编写一个标准的 HTML5 结构,Dedecms 模板通常包含以下几个主要部分:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:global.cfg_webname/}</title> <!-- 网站标题 -->
<meta name="keywords" content="{dede:global.cfg_keywords/}"> <!-- 网站关键词 -->
<meta name="description" content="{dede:global.cfg_description/}"> <!-- 网站描述 -->
<link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/style.css"> <!-- 引入CSS -->
</head>
<body>
<!-- 顶部导航栏 -->
<div class="header">
...
</div>
<!-- 主要内容区 -->
<div class="main">
<!-- 左侧内容 -->
<div class="left-content">
<!-- 调用文章列表 -->
{dede:arclist ...}
...
{/dede:arclist}
</div>
<!-- 右侧边栏 -->
<div class="sidebar">
<!-- 调用热门文章 -->
{dede:arclist ...}
...
{/dede:arclist}
<!-- 调用友情链接 -->
{dede:flink ...}
...
{/dede:flink}
</div>
</div>
<!-- 底部信息 -->
<div class="footer">
...
</div>
<script src="{dede:global.cfg_templets_skin/}/js/jquery.min.js"></script> <!-- 引入JS -->
<script src="{dede:global.cfg_templets_skin/}/js/index.js"></script>
</body>
</html>
注意:{dede:global.cfg_templets_skin/} 是一个非常重要的全局变量,它会自动输出当前模板的路径,如 /templets/mycompany/,使用它来引用 CSS 和 JS 文件,可以避免路径错误。
步骤 4:插入 Dedecms 标签 这是最核心的一步,在 HTML 结构的相应位置,插入 Dedecms 标签来动态获取内容,我们将在下一节详细介绍常用标签。
步骤 5:后台设置
- 登录 Dedecms 后台。
- 进入 “系统” -> “系统基本参数” -> “核心设置”。
- 找到 “模板默认风格目录”,将其值设置为你创建的模板文件夹名,
mycompany。 - 进入 “系统” -> “系统基本参数” -> “性能选项”,确保 “是否开启页面静态化” 是开启的。
- 进入 “生成” -> “更新主页HTML”,点击“开始生成”,你的新首页模板就会生效了。
常用 Dedecms 标签
全局标签
这些标签通常放在 <head> 部分。
{dede:global.cfg_webname/}:网站名称。{dede:global.cfg_keywords/}:网站关键词。{dede:global.cfg_description/}:网站描述。{dede:global.cfg_templets_skin/}:当前模板路径。
文章列表标签 - {dede:arclist}
这是首页最常用的标签,用于调用文章列表。
基本语法:
{dede:arclist flag='h' typeid='1,2' row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
常用属性:
typeid:指定栏目ID,多个ID用逗号隔开。typeid='0'表示调用所有栏目。row:调用文章的数量,len`:标题长度,汉字数。infolen:简介长度。flag:特殊属性。'h'(头条),'c'(推荐),'p'(图片),'f'(幻灯),可以组合使用,如flag='hc'。orderby:排序方式。'pubdate'(发布时间),'click'(点击量),'id'(文章ID)。
常用字段:
[field:title/。[field:arcurl/:文章链接。[field:pubdate function="MyDate('Y-m-d', @me)"/]:发布日期,MyDate是日期格式化函数。[field:description/:[field:litpic/:文章缩略图。
幻灯片/焦点图标签
通常使用 {dede:arclist} 配合 flag='f' 来实现。
<div class="focus">
{dede:arclist flag='f' row='5'}
<a href="[field:arcurl/]" title="[field:title/]">
<img src="[field:litpic/]" alt="[field:title/]">
<span>[field:title/]</span>
</a>
{/dede:arclist}
</div>
友情链接标签 - {dede:flink}
<div class="friendlinks">
<h3>友情链接</h3>
{dede:flink type='text' row='24'}
<a href="[field:url/]" target="_blank">[field:name/]</a>
{/dede:flink}
</div>
type:链接类型。'text'(文字),'image'(图片)。row:调用链接的数量。
指定栏目文章列表 - {dede:channelartlist}
如果你想为每个栏目调用其下的文章列表,这个标签非常方便。
{dede:channelartlist}
<div class="channel-box">
<h2><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h2>
<ul>
{dede:arclist row='5'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
{/dede:channelartlist}
{dede:field name='typeurl'/}:当前栏目的链接。{dede:field name='typename'/}:当前栏目的名称。
调用单页文档内容
关于我们”、“联系我们”这类只有一个页面的内容。
{dede:field name='body'/}
这个标签需要放在一个单页文档的内容页模板中,或者通过特定方法在首页调用(通常需要二次开发或使用插件)。
一个简单的封面模板实例
假设我们要制作一个包含“网站头条”、“产品展示”和“公司新闻”的简单首页。
index.htm 文件内容:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">{dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:global.cfg_keywords/}">
<meta name="description" content="{dede:global.cfg_description/}">
<link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style/style.css">
</head>
<body>
<!-- 顶部Logo和导航 -->
<div class="header">
<div class="logo"><a href="/"><img src="{dede:global.cfg_templets_skin/}/images/logo.png" alt="网站Logo"></a></div>
<div class="nav">
<ul>
<li><a href="/">首页</a></li>
<!-- 这里可以手动添加其他顶级栏目链接 -->
<li><a href="/plus/list.php?tid=1">产品中心</a></li>
<li><a href="/plus/list.php?tid=2">新闻资讯</a></li>
<li><a href="/aboutus.html">关于我们</a></li>
</ul>
</div>
</div>
<!-- 焦点图 -->
<div class="slider">
{dede:arclist flag='f' row='5'}
<a href="[field:arcurl/]" title="[field:title/]">
<img src="[field:litpic/]" alt="[field:title/]">
</a>
{/dede:arclist}
</div>
<!-- 主要内容区 -->
<div class="main-content">
<!-- 左侧:产品展示 -->
<div class="left-content">
<h2>产品展示</h2>
<ul class="product-list">
{dede:channelartlist typeid='1'}
<li>
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<ul>
{dede:arclist row='3' titlelen='20'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</li>
{/dede:channelartlist}
</ul>
</div>
<!-- 右侧:公司新闻和热门文章 -->
<div class="sidebar">
<!-- 公司新闻 -->
<div class="news-box">
<h3>公司新闻</h3>
<ul>
{dede:arclist typeid='2' row='5' titlelen='24'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('m-d', @me)"/]</span>
</li>
{/dede:arclist}
</ul>
</div>
<!-- 热门文章 -->
<div class="hot-box">
<h3>热门文章</h3>
<ul>
{dede:arclist row='5' orderby='click' titlelen='24'}
<li><span>[field:global.autoindex/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
</div>
</div>
<!-- 底部 -->
<div class="footer">
<p>Copyright © 2025 {dede:global.cfg_webname/} All Rights Reserved.</p>
<p>{dede:global.cfg_powerby/}</p>
</div>
</body>
</html>
对应的 style.css 文件(简单示例):
body { font-family: "Microsoft YaHei", Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f4f4; }
.header { background: #333; height: 80px; line-height: 80px; display: flex; align-items: center; padding: 0 20px; }
.logo img { height: 50px; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
.nav li { margin-left: 20px; }
.nav a { color: #fff; text-decoration: none; }
.slider { width: 100%; height: 300px; overflow: hidden; background: #ccc; }
.slider img { width: 100%; height: 100%; object-fit: cover; }
.main-content { width: 1200px; margin: 20px auto; display: flex; }
.left-content, .sidebar { flex: 1; padding: 15px; background: #fff; border-radius: 5px; }
.sidebar { margin-left: 20px; }
h2, h3 { border-bottom: 2px solid #333; padding-bottom: 10px; margin-top: 0; }
.product-list, .news-box ul, .hot-box ul { list-style: none; padding: 0; }
.news-box li, .hot-box li { border-bottom: 1px dashed #eee; padding: 8px 0; display: flex; justify-content: space-between; }
.footer { background: #333; color: #fff; text-align: center; padding: 20px 0; margin-top: 20px; }
总结与提示
- 多看多学:最好的学习方式是下载一些成熟的 Dedecms 模板,解压后研究其
index.htm文件,看看别人是如何组织标签和布局的。 - 利用开发者工具:使用 Chrome 或 Firefox 的开发者工具 (F12) 可以实时查看和修改页面样式,非常有助于调试 CSS。
- 安全第一:从网上下载的模板或代码,最好先进行安全检查,避免被植入恶意代码。
- 善用“文件管理器”:在 Dedecms 后台的“模板” -> “文件管理器”中,可以直接在线编辑模板文件,非常方便。
希望这份详细的指南能帮助你成功制作出你的 Dedecms 封面模板!
