第一部分:核心概念 - 理解织梦模板的工作原理
在使用模板之前,你必须先理解织梦的几个核心概念和它们之间的关系,这就像盖房子前要先看懂建筑蓝图一样。

(图片来源网络,侵删)
-
模板文件
- 是什么:就是纯粹的HTML文件,里面夹杂着织梦的模板标签,它决定了你网站的最终外观和布局。
- 存放位置:在织梦安装目录下的
/templets/文件夹里,你会在这里创建自己的文件夹,/templets/your_site_name/,用来存放你网站的所有模板文件。 - 常见文件:
index.html:首页模板。list_article.htm:文章列表页模板。article_article.htm页模板。head.htm:网站头部(包含Logo、导航等)。footer.htm:网站底部(包含版权、友情链接等)。
-
模板标签
- 是什么:这是织梦的“魔法”,它们是写在HTML文件里的一些特殊代码,用
{dede:...}包裹,织梦程序在生成页面时,会找到这些标签,然后替换成从数据库里查询出来的实际内容。 - 作用:连接静态的HTML模板和动态的数据库内容,实现“一处调用,处处更新”。
- 是什么:这是织梦的“魔法”,它们是写在HTML文件里的一些特殊代码,用
-
模板引擎
- 是什么:这是织梦后台的一个核心程序,它的任务就是解析模板文件里的所有标签,然后把最终生成的HTML代码发送给用户的浏览器。
- 工作流程:用户访问网站 -> 织梦程序接收到请求 -> 调用对应的模板文件 -> 模板引擎解析标签,替换为数据 -> 生成一个完整的HTML页面 -> 返回给用户。
-
数据模型与栏目
(图片来源网络,侵删)- 是什么的“分类柜”,你在后台创建的“栏目”(如“公司新闻”、“产品中心”、“关于我们”)就是用来组织和分类内容的。
- 作用:每个栏目都可以关联一个或多个模板文件,织梦会根据你当前访问的栏目,自动选择并使用对应的模板来显示内容。
第二部分:实战演练 - 创建你的第一个网站模板
我们将通过一个简单的步骤,从头开始创建一个包含头部、首页和底部的模板。
步骤 1:创建模板文件夹
为了保持整洁,我们先在 /templets/ 目录下创建一个专属的文件夹,mydemo。
你的织梦安装目录/
└── templets/
└── mydemo/ <-- 新建这个文件夹
步骤 2:创建公共模板文件 (头部和尾部)
很多页面都会重复使用头部和底部,所以我们先创建它们。
创建头部模板 head.htm
在 /templets/mydemo/ 目录下新建 head.htm 文件,内容如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">{dede:global.cfg_webname/}</title>
<meta name="description" content="{dede:global.cfg_description/}">
<meta name="keywords" content="{dede:global.cfg_keywords/}">
<!-- 这里可以放CSS和JS文件 -->
<link rel="stylesheet" href="/templets/mydemo/css/style.css">
</head>
<body>
<header>
<div class="logo">
<a href="{dede:global.cfg_cmsurl/}/">
<img src="/templets/mydemo/images/logo.png" alt="{dede:global.cfg_webname/}">
</a>
</div>
<nav>
<ul>
<!-- 调用首页 -->
<li><a href="{dede:global.cfg_cmsurl/}/">首页</a></li>
<!-- 循环调用顶级栏目 -->
{dede:channel type='top' row='8'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</nav>
</header>
<div class="main-content">
标签解析:
{dede:global.cfg_webname/}:调用网站后台设置的“网站名称”。{dede:global.cfg_cmsurl/}:调用网站后台设置的“网站根网址”。{dede:channel type='top' row='8'}:这是一个循环标签,用于调用顶级栏目。type='top':表示只调用顶级栏目。row='8':表示调用8个栏目。[field:typelink/]:在循环体内,调用当前栏目的链接地址。[field:typename/]:在循环体内,调用当前栏目的名称。
创建底部模板 footer.htm
在同一目录下新建 footer.htm 文件,内容如下:
</div> <!-- .main-content 结束 -->
<footer>
<p>版权所有 © {dede:global.cfg_webname/} - {dede:php}echo date('Y');{/dede:php}</p>
<p>联系电话:{dede:global.cfg_tel/}</p>
</footer>
</body>
</html>
标签解析:
{dede:php}echo date('Y');{/dede:php}:这是一个PHP代码块,可以直接执行PHP代码,这里用来动态显示当前年份。{dede:global.cfg_tel/}:调用网站后台设置的“联系电话”。
步骤 3:创建首页模板 index.html
我们把头部和底部组合起来,创建首页。
在 /templets/mydemo/ 目录下新建 index.html 文件:
{dede:include filename="head.htm"/}
<!-- 首轮播图区域 (这里假设你有一个专门的标签调用轮播图) -->
<div class="slider">
{dede:arclist row='5' type='image'}
<img src="[field:picname/]" alt="[field:title/]">
{/dede:arclist}
</div>
<!-- 公司新闻列表 -->
<section class="news-list">
<h2>公司新闻</h2>
<ul>
<!-- 调用指定栏目ID下的文章列表 -->
{dede:arclist typeid='1' row='10' titlelen='30'}
<li>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
</section>
{dede:include filename="footer.htm"/}
标签解析:
{dede:include filename="head.htm"/}:包含(引入)另一个模板文件,这是织梦模板复用的核心方法。{dede:arclist ...}:文章列表标签,功能非常强大,用于在首页、列表页等地方调用文章。typeid='1':指定调用栏目ID为1下的文章(你需要在后台查看“公司新闻”栏目的ID)。row='10':调用10篇文章。titlelen='30'长度限制为30个字符。[field:pubdate function="MyDate('Y-m-d', @me)"/]:调用文章发布日期,并用MyDate函数格式化为“年-月-日”的格式。[field:arcurl/]:调用文章的链接地址。[field:title/]:调用文章的标题。
步骤 4:在后台设置并生成首页
模板文件创建好了,现在需要告诉织梦使用它。
- 登录织梦后台。
- 进入 “系统” -> “系统基本参数” -> “核心设置”。
- 找到 “网站首页模板” 这一栏,把默认的
index.htm修改成我们刚刚创建的:/templets/mydemo/index.html。 - 保存。
生成首页: 设置好后,你还需要“生成”页面,织梦才会把你的模板文件编译成最终的HTML。
- 在后台左侧菜单找到 “生成” -> “首页生成”。
- 点击 “开始生成首页”。
- 等待处理完成,你的网站首页就已经是你自定义的样子了!
第三部分:常用标签详解
掌握以下几类标签,你就能应付90%的模板开发需求。
| 标签类别 | 标签名 | 主要用途 | 示例 |
|---|---|---|---|
| 全局类 | {dede:global} |
调用网站的全局配置信息 | {dede:global.cfg_webname/}, {dede:global.cfg_adminurl/} |
| 栏目类 | {dede:channel} |
调用栏目列表 | {dede:channel type='top' row='10'} |
{dede:type} |
页调用当前栏目信息 | {dede:type}[field:typename/]{/dede:type} |
|
| 文章类 | {dede:arclist} |
调用文章列表(最常用) | {dede:arclist typeid='1' row='5' titlelen='20'} |
{dede:field} |
页调用单篇文章的字段 | {dede:field.title/}, {dede:field.body/} |
|
{dede:list} |
用于列表页模板,循环显示栏目下的所有文章 | {dede:list pagesize='10'}...{/dede:list} |
|
| 其他 | {dede:include} |
包含其他模板文件 | {dede:include filename='head.htm'/} |
{dede:php} |
执行PHP代码 | {dede:php}$a = 1; echo $a;{/dede:php} |
第四部分:高级技巧与注意事项
-
模板制作与调试工具
- 强烈推荐使用Dreamweaver、VS Code、Sublime Text 等专业代码编辑器,它们支持语法高亮,能让你更清晰地看到HTML和标签。
- 浏览器开发者工具 (F12) 是你的好朋友,当你发现页面样式错乱或内容不对时,用F12检查元素,可以直观地看到HTML结构和CSS样式,方便定位问题。
-
使用变量简化模板 如果你的模板里有很多重复的路径(如
/templets/mydemo/css/),可以在模板开头定义变量:{dede:global name='cfg_templets_url'/}/mydemo/然后在后面使用:
<link rel="stylesheet" href="{dede:global name='cfg_templets_url'/}/mydemo/css/style.css">这样,以后如果更换模板目录,只需修改一处即可。
-
性能考虑
- 生成静态页面:织梦的一大优势是生成静态HTML,对于已经定型的页面(如首页、列表页、文章页),一定要定期在后台“更新HTML”,这能极大提升网站访问速度。
- 避免过度嵌套:模板标签不要无限嵌套,否则会增加解析时间,影响性能。
-
安全第一
- 模板文件上传到服务器前,最好用杀毒软件扫描一遍。
- 不要轻易在模板里写不安全的PHP代码。
织梦CMS的模板使用可以总结为以下四步循环:
- 设计:用HTML和CSS设计出你想要的页面布局。
- 切分:将共用的部分(如头部、底部)拆分成独立的模板文件(
head.htm,footer.htm)。 - 标记:在HTML模板中,用织梦的
{dede:...}标签替换掉需要动态显示的内容。 - 配置与生成:在后台指定模板文件,并生成静态页面。
多练习,多看官方文档和别人的优秀模板,你会很快掌握这个强大的系统,祝你织梦愉快!
