织梦CMS模板如何快速上手使用?

99ANYc3cd6
预计阅读时长 29 分钟
位置: 首页 织梦建站 正文

织梦CMS 模板使用手册

目录

  1. 前言:织梦模板是什么?
  2. 第一章:核心概念与文件结构
    • 1 模板引擎简介
    • 2 模板文件命名规则
    • 3 模板目录结构
  3. 第二章:模板基础语法
    • 1 变量输出 ({dede:field}{dede:global})
    • 2 常用PHP函数调用 ({dede:func})
    • 3 条件判断 (if...else)
    • 4 循环输出 (arclist, list, channel等)
    • 5 注释
  4. 第三章:核心标签详解
    • 1 内容列表标签:{dede:arclist} (文章列表)
    • 2 文章内容页标签:{dede:field} (文章页)
    • 3 栏目标签:{dede:channel} (栏目列表)
    • 4 分页标签:{dede:pagelist}
    • 5 其他常用标签
  5. 第四章:模板制作实战流程
    • 1 准备工作:HTML/CSS/PSD
    • 2 模板文件命名与创建
    • 3 切割HTML与模板化改造
    • 4 模板标签的填充与调试
    • 5 CSS/JS路径修正
  6. 第五章:高级技巧与常见问题
    • 1 模板嵌套 (include)
    • 2 自定义函数
    • 3 缓存机制
    • 4 常见问题与解决方案
  7. 第六章:推荐资源与工具

前言:织梦模板是什么?

织梦CMS的模板系统本质上是一个模板引擎,它的核心思想是“数据与表现分离”

织梦cms模板使用手册
(图片来源网络,侵删)
  • 数据:存储在织梦CMS数据库中的内容,如文章、栏目、产品等。
  • 表现:即我们看到的网站页面,由HTML、CSS、JavaScript等构成。

织梦模板通过一套特殊的标签语言,将数据库中的数据动态地填充到HTML页面中,当你访问网站时,织梦系统会读取你设计的HTML模板,解析其中的标签,从数据库获取对应的数据,最终生成一个完整的、可供用户访问的HTML页面。

你只需要设计好网站的“骨架”(HTML模板),织梦会自动把“血肉”(内容数据)填进去。


第一章:核心概念与文件结构

1 模板引擎简介

织梦使用自己的模板引擎,它解析 .htm 后缀的模板文件,将 {dede:...} 格式的标签替换为实际内容,这个引擎是织梦CMS的核心组成部分。

2 模板文件命名规则

模板文件的命名非常重要,它决定了该模板在网站的哪个位置生效。

织梦cms模板使用手册
(图片来源网络,侵删)
  • 首页模板index.htm
  • 栏目列表页模板
    • 默认列表页:list_栏目ID.htm (list_1.htm)
    • 自定义列表页:在后台栏目可以指定模板文件名,如 news_list.htm
  • 页模板
    • 页:article_article.htm
    • 页:在后台栏目或单篇文档中可以指定,如 news_detail.htm
  • 其他页面模板
    • 搜索页:search.htm
    • 用户评论页:feedback.htm
    • 标签列表页:tag_标签名.htm

3 模板目录结构

默认情况下,模板文件存放在 /templets/ 目录下,一个典型的模板结构如下:

/templets/
├── default/              # 默认模板文件夹,你可以创建自己的文件夹,如 "mywebsite"
│   ├── index.htm        # 首页模板
│   ├── style/           # CSS样式文件夹
│   │   └── base.css
│   ├── images/          # 图片文件夹
│   │   └── logo.png
│   ├── js/              # JavaScript脚本文件夹
│   │   └── jquery.js
│   ├── list_1.htm       # ID为1的栏目列表页
│   ├── list_2.htm       # ID为2的栏目列表页
│   ├── article_article.htm # 默认文章内容页
│   └── ...              # 其他模板文件
└── ...                  # 其他模板文件夹

操作提示:在织梦后台,你可以通过 “系统” -> “系统基本参数” -> “站点设置” 来修改默认的模板目录路径。


第二章:模板基础语法

1 变量输出

  • 字段标签:用于输出文章、栏目等具体信息。

    • {dede:field.title/}:输出文章或栏目标题。
    • {dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}:输出发布日期,并使用PHP的strftime函数格式化。
    • {dede:field.body/}:输出文章正文内容。
    • {dede:field.keywords/}:输出文章关键词。
  • 全局标签:用于输出网站的全局配置信息。

    织梦cms模板使用手册
    (图片来源网络,侵删)
    • {dede:global.cfg_webname/}:输出网站名称。
    • {dede:global.cfg_powerby/}:输出版权信息。

2 常用PHP函数调用

使用function属性可以对字段值进行PHP函数处理,非常灵活。

{dede:field.pubdate function='strftime("%Y年%m月%d日 %H:%M",@me)'/}
{dede:field.description function='cn_substr(@me, 100)'/} <!-- 截取前100个字符 -->
{dede:field.name function='mb_convert_case(@me, MB_CASE_UPPER, "UTF-8")'/} <!-- 转换为大写 -->

3 条件判断 (if...else)

根据条件输出不同的内容,常用于判断是否有内容、是否为首页等。

{dede:field name='typeid' runphp='yes'}
    if(@me == 0) {
        @me = "这是首页,显示特殊内容";
    } else {
        @me = "这是栏目页,显示普通内容";
    }
{/dede:field}

更简洁的写法:

{dede:field name='typeid' runphp='yes'}
    @me = (@me == 0 ? "首页" : "栏目页");
{/dede:field}

4 循环输出 (arclist, list, channel等)

这是织梦模板最核心、最常用的部分,用于遍历并显示一组数据。

  • {dede:arclist}:用于在首页、栏目页等调用文章列表。
  • {dede:list}:用于在栏目列表页循环显示本栏目的文章。
  • {dede:channel}:用于调用栏目列表。

{dede:arclist} 示例:

{dede:arclist flag='c' typeid='2' row='8' titlelen='30'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function='strftime("%m-%d",@me)'/]</span>
    </li>
{/dede:arclist}

常用属性说明:

  • typeid: 指定栏目ID,多个ID用逗号隔开。
  • row: 调用文章数量,len`: 标题长度。
  • infolen: 简介(长度。
  • flag: 特殊属性,如 'c' (推荐), 'h' (头条), 'p' (图片) 等,可组合使用。
  • orderby: 排序方式,如 'click' (点击量), 'pubdate' (发布日期)。

5 注释

在模板中添加注释,方便自己或他人理解代码,注释内容不会在最终页面上显示。

{dede:note}
这里是一段模板注释,用于说明此处代码的作用。
{/dede:note}

第三章:核心标签详解

1 内容列表标签:{dede:arclist}

这是最强大的标签,没有之一,除了上面提到的属性,还有更多:

  • channelid: 指定频道模型ID,默认为1 (文章)。
  • limit: 起始位置,显示数量,如 limit='0,10' (从第0条开始,显示10条)。
  • att: att='1' 只包含有缩略图的文章。
  • keyword: 关键词包含,如 keyword='织梦,模板'
  • sub: sub='1' 包含子栏目的文章。

常用字段:

  • [field:title/]: 文章标题
  • [field:arcurl/]: 文章链接
  • [field:pubdate function='strftime("%Y-%m-%d",@me)'/]: 发布日期
  • [field:description function='cn_substr(@me, 120)'/]: 文章摘要
  • [field:litpic/]: 缩略图
  • [field:click/]: 点击量

2 文章内容页标签:{dede:field}

页(article_article.htm)使用,用于获取当前文章的详细信息。

  • {dede:field.title/}: 文章标题
  • {dede:field.seotitle/}: SEO标题
  • {dede:field.writer/}: 作者
  • {dede:field.source/}: 来源
  • {dede:field.pubdate function='strftime("Y-m-d H:i:s",@me)'/}: 发布时间
  • {dede:field.body/}: 文章正文
  • {dede:field.pagebreak/}: 文章分页符
  • {dede:field.content/}: 包含正文的完整内容

3 栏目标签:{dede:channel}

用于调用栏目列表。

{dede:channel type='top' row='8'}
    <li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}

常用属性:

  • type: 'top' (顶级栏目), 'son' (子栏目), self (本栏目)。
  • row: 调用栏目数量。
  • typeid: 指定从哪个栏目开始调用。

4 分页标签:{dede:pagelist}

在列表页使用,用于生成分页导航。

<div class="dede_pages">
    <ul>
        <li>{dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'/}</li>
    </ul>
</div>

listitem 属性:控制显示哪些分页元素。

  • info: 显示页码信息 (如 共10页/当前第1页)
  • index: 显示首页
  • pre: 显示上一页
  • next: 显示下一页
  • last: 显示尾页
  • pageno: 显示页码

5 其他常用标签

  • 友情链接{dede:flink/}
    • type='text': 文本链接
    • type='image': 图片链接
  • 网站版权{dede:global.cfg_powerby/}
  • 当前栏目名{dede:field name='typename'/}

第四章:模板制作实战流程

  1. 准备HTML源码

    • 使用Photoshop或Figma设计网站UI。
    • 使用HTML/CSS/JS将设计稿切静态页面,确保页面在浏览器中显示正常。
  2. 创建模板文件夹

    • /templets/ 目录下新建一个以你的网站名命名的文件夹,如 mytemplet
    • 将切好的HTML文件、CSS、JS、图片等资源文件复制到该文件夹中。
  3. 模板化改造

    • 修改文件名:将首页 index.html 重命名为 index.htm,根据需要创建 list_x.htm, article_article.htm 等。
    • 替换网站标题:找到HTML中的 <title> 标签,将静态标题替换为 {dede:global.cfg_webname/} - {dede:field.seotitle/}。
    • 替换Logo:将 <img src="images/logo.png"> 中的路径改为动态路径,如 <img src="{dede:global.cfg_templets_skin/}/images/logo.png">cfg_templets_skin 会自动指向当前模板目录。
    • 制作导航栏:将静态的导航链接 <a href="#">关于我们</a> 替换为 {dede:channel type='top' row='8'}<a href="[field:typeurl/]">[field:typename/]</a>{/dede:channel}
    • 制作文章列表:找到文章列表的HTML结构(如<ul><li>...</li></ul>),用 {dede:arclist...} 标签及其字段替换静态内容。
    • 制作页脚:将版权信息替换为 {dede:global.cfg_powerby/}
  4. 后台设置

    • 登录织梦后台,进入 “系统” -> “系统基本参数” -> “站点设置”
    • 将“默认模板目录”设置为你的新模板文件夹 /templets/mytemplet/
    • 进入各个栏目的“高级选项”,选择对应的列表页和内容页模板。
  5. 生成与测试

    • 在后台首页点击 “生成” -> “一键更新网站”,选择“更新所有”。
    • 访问你的网站,检查各个页面是否显示正常,链接是否有效。

第五章:高级技巧与常见问题

1 模板嵌套 (include)

使用 {dede:include} 标签可以引入其他模板文件,实现代码复用,如头部、底部。

{dede:include filename='head.htm'/}
<!-- 页面主要内容 -->
{dede:include filename='footer.htm'/}

2 自定义函数

当内置函数无法满足需求时,可以自定义PHP函数。

  1. /include/helpers/ 目录下创建一个PHP文件,如 extend.helper.php
  2. 在文件中定义你的函数,
    if (!function_exists('MyTruncate')) {
        function MyTruncate($string, $length) {
            // 你的自定义逻辑
            return mb_substr($string, 0, $length, 'utf-8') . '...';
        }
    }
  3. 在模板中调用:
    {dede:field.description function='MyTruncate(@me, 50)'/}

3 缓存机制

织梦为了提高速度,使用了模板缓存,当你修改了模板文件后,如果页面没有更新,可能是因为缓存问题。

  • 解决方案:在后台“生成”页面,点击“更新HTML”或“一键更新网站”,系统会重新编译模板。

4 常见问题与解决方案

  • 问题1:标签不生效,显示为 {dede:field.title/} 原文。

    • 原因:模板文件后缀不是 .htm;后台模板路径设置错误;模板文件有语法错误导致解析失败。
    • 解决:检查文件名、后台设置,并用Dreamweaver等工具检查标签是否闭合正确。
  • 问题2:图片、CSS路径错误,显示404。

    • 原因:使用了绝对路径或相对路径 /images/
    • 解决:使用织梦的全局变量 {dede:global.cfg_templets_skin/} 来构建路径,如 <img src="{dede:global.cfg_templets_skin/}/images/logo.png">
  • 问题3:列表页分页不显示或样式错乱。

    • 原因:后台未生成列表页;CSS样式与分页标签的HTML结构不匹配。
    • 解决:在后台生成对应栏目列表;检查并调整CSS样式。

第六章:推荐资源与工具

  • 官方资源
    • 织梦CMS官网:www.dedecms.com
    • 织梦官方论坛:bbs.dedecms.com (寻找官方模板和解决方案)
  • 模板市场

    织梦梦网、织梦吧等网站提供大量付费和免费的模板。

  • 开发工具
    • 代码编辑器:VS Code, Sublime Text, Dreamweaver (推荐VS Code,插件丰富)。
    • FTP工具:FileZilla, WinSCP (用于上传模板文件)。
    • 浏览器开发者工具:F12 (用于调试CSS、JS和查看网络请求)。

希望这份手册能帮助你快速上手织梦CMS的模板制作!实践是最好的老师,多动手尝试,遇到问题多查阅官方文档和社区,你会越来越熟练。

-- 展开阅读全文 --
头像
dede文章如何调用到其他网站?
« 上一篇 02-14
C语言能处理哪些文件类型?
下一篇 » 02-14

相关文章

取消
微信二维码
支付宝二维码

目录[+]