核心思想:DEDECMS模板的构成
首先要明白,DEDECMS的模板不是单一的HTML文件,它是由多个“标签”组成的,这些标签就像是PHP函数,在网站被访问时,由DEDECMS的引擎解析,并从数据库中提取数据,最终生成完整的HTML页面发送给浏览器。

(图片来源网络,侵删)
一个典型的首页模板结构如下:
index.htm (首页主模板)
├-- header.htm (头部模板,包含logo、导航等)
├-- footer.htm (底部模板,包含版权、友情链接等)
└-- 其他公共模块...
常用模板标签:
{dede:include filename='header.htm' /}:包含另一个模板文件。{dede:global.cfg_webname/}:调用网站名称。{dede:arclist}:文章列表标签,用于调用文章。{dede:channel}:栏目列表标签,用于调用栏目。{dede:flink}:友情链接标签。
第一步:准备工作
-
本地环境搭建:
- 安装一个集成的PHP环境,如
phpStudy、WampServer或XAMPP,这可以让你在本地电脑上模拟服务器环境。 - 下载DEDECMS最新稳定版程序。
- 将下载的DEDECMS程序解压,放到你的本地环境的网站根目录(如
phpStudy的WWW文件夹)。 - 通过浏览器访问你的域名(如
http://localhost/),按照提示进行安装,在安装过程中,你需要设置网站后台的管理员账号和密码。
- 安装一个集成的PHP环境,如
-
准备设计稿:
(图片来源网络,侵删)- 在动手之前,先用Photoshop、Figma或Sketch等工具设计好你的首页布局,顶部导航、Banner轮播图、文章列表、产品展示、底部信息等。
- 将设计稿切成独立的图片素材(如logo、banner图、背景图等)。
第二步:创建模板文件和目录
DEDECMS的模板文件存放在 /templets/ 目录下。
-
创建专属模板目录: 为了方便管理,不要直接使用系统默认的
default目录,在/templets/目录下新建一个文件夹,例如命名为myhome。 -
创建基础模板文件: 在
/templets/myhome/目录下,创建以下文件:index.htm:首页主模板文件,这是我们的核心工作文件。header.htm:头部模板,包含<head>标签、导航菜单等。footer.htm:底部模板,包含版权信息、备案号等。
第三步:编写模板代码(以 index.htm 为例)
我们将按照网站从上到下的结构,一步步编写代码,并嵌入DEDECMS标签。

(图片来源网络,侵删)
header.htm (头部模板)
这个文件通常包含网站的头部信息,如网站标题、关键词、描述、CSS/JS文件引入和主导航。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">{dede:global.cfg_webname/} - {dede:field.title/}</title>
<meta name="keywords" content="{dede:field name='keywords'/}">
<meta name="description" content="{dede:field name='description'/}">
<!-- 引入你的CSS文件,比如放在 /templets/myhome/style/ 目录下 -->
<link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/templets/myhome/style/css/style.css">
<!-- 引入你的JS文件 -->
<script src="{dede:global.cfg_cmsurl/}/templets/myhome/style/js/jquery.min.js"></script>
</head>
<body>
<!-- 顶部Logo和主导航 -->
<div class="header">
<div class="logo">
<a href="{dede:global.cfg_homeurl/}">
<img src="{dede:global.cfg_cmsurl/}/templets/myhome/images/logo.png" alt="{dede:global.cfg_webname/}">
</a>
</div>
<nav class="main-nav">
<ul>
<!-- 调用顶级栏目,'type'='top' 表示只调用顶级栏目 -->
{dede:channel type='top' row='8'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</nav>
</div>
关键标签解释:
{dede:global.cfg_webname/}:网站名称。{dede:global.cfg_homeurl/}:网站首页地址。{dede:channel type='top'}:调用顶级栏目列表。
index.htm (首页主模板)
这是首页的核心,它会包含 header.htm 和 footer.htm,并填充各个内容区域。
{dede:include filename="header.htm"/}
<!-- Banner轮播图区域 -->
<div class="banner">
<!-- 这里可以使用第三方JS库(如Swiper)来实现轮播 -->
<!-- 调用特定ID的栏目文章作为Banner,这里假设是ID为1的栏目 -->
{dede:arclist flag='c' typeid='1' row='5'}
<img src="[field:litpic/]" alt="[field:title/]">
{/dede:arclist}
</div>
<!-- 公司简介/新闻动态区域 -->
<div class="content-wrapper">
<!-- 左侧:公司简介 -->
<div class="intro-section">
<h2>公司简介</h2>
{dede:sql sql="SELECT content FROM `dede_arctype` WHERE id='2'"}
[field:content function='cn_substr(@me,300)'/]... <!-- 截取300个字符 -->
{/dede:sql}
<a href="/intro/">查看更多 ></a>
</div>
<!-- 右侧:新闻列表 -->
<div class="news-section">
<h2>新闻中心</h2>
<ul>
<!-- 调用栏目ID为3的文章列表,标题长度40字,显示10条 -->
{dede:arclist typeid='3' titlelen='40' row='10'}
<li>
<span class="news-date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
</div>
</div>
<!-- 产品展示区域 -->
<div class="product-showcase">
<h2>产品中心</h2>
<div class="product-list">
<!-- 调用栏目ID为4的产品列表,显示6条,使用缩略图 -->
{dede:arclist typeid='4' row='6' titlelen='30'}
<div class="product-item">
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]">
<p>[field:title/]</p>
</a>
</div>
{/dede:arclist}
</div>
</div>
{dede:include filename="footer.htm"/}
关键标签解释:
{dede:include filename='...'}:包含头部和底部。{dede:arclist}:最常用的标签,用于调用文章列表。typeid:指定栏目ID。row:显示条数。titlelen长度。flag:特殊属性,如'c'代表首页推荐。[field:arcurl/]:文章链接。[field:title/]。[field:litpic/]:文章缩略图。
{dede:sql}:直接执行SQL语句,非常灵活,可用于调用单页内容等。
footer.htm (底部模板)
<div class="footer">
<div class="footer-content">
<p>版权所有 © 2025 <a href="{dede:global.cfg_homeurl/}">{dede:global.cfg_webname/}</a> All Rights Reserved.</p>
<p>技术支持:<a href="http://www.dedecms.com" target="_blank">DEDECMS</a></p>
</div>
</div>
</body>
</html>
第四步:设置和预览
-
上传模板文件: 将你创建的所有模板文件(
index.htm,header.htm,footer.htm)以及相关的CSS、JS、图片等素材,通过FTP上传到服务器的/templets/myhome/目录下。 -
在DEDECMS后台设置模板:
- 登录你的DEDECMS后台。
- 进入菜单:【系统】-> 【系统基本参数】-> 【核心设置】**。
- 找到 “站点默认模板目录”,将其修改为你的目录名,即
myhome。 - 保存。
-
设置首页模板:
- 进入菜单:【模板】-> 【默认模板管理】**。
- 在 “主页模板” 一栏,选择
index.htm。 - 点击 “更新主页HTML”,这一步非常重要,DEDECMS会根据你选择的模板,生成一个静态的HTML首页文件。
-
预览效果:
现在在浏览器中访问你的网站首页,就能看到你制作的模板效果了!
第五步:常见问题与进阶
-
/标签无效:
- 检查标签拼写是否错误。
- 检查标签属性(如
typeid)是否正确。 - 确保该栏目下有符合条件的文章。
- 检查模板目录和文件名是否在后台设置正确。
-
CSS样式错乱:
- 检查CSS文件路径是否正确,推荐使用
{dede:global.cfg_cmsurl/}/templets/myhome/style/css/style.css这样的绝对路径。 - 检查CSS类名是否与HTML中的
class属性一致。
- 检查CSS文件路径是否正确,推荐使用
-
如何实现更复杂的功能?
- 自定义标签:如果系统自带的标签无法满足需求,可以自己开发PHP函数,然后在模板中通过
{dede:mytag/}这样的方式调用,这需要一定的PHP编程能力。 - 使用JS交互:像轮播图、下拉菜单等效果,通常需要借助jQuery等前端库来实现,在
header.htm中引入相应的库文件,并编写JS代码即可。
- 自定义标签:如果系统自带的标签无法满足需求,可以自己开发PHP函数,然后在模板中通过
-
响应式设计:
在制作模板时,推荐使用Bootstrap、Amaze UI等成熟的CSS框架,它们能帮助你轻松实现PC和移动端的自适应布局。
希望这份详细的教程能帮助你成功制作出DEDECMS的首页模板!祝你顺利!
