核心概念:DedeCMS 模板系统

在深入具体之前,必须理解 DedeCMS 的模板引擎工作原理,它采用了 “模板标签” 的方式,将动态数据和静态的 HTML 页面结构分离开。

dedecms门户资讯模板
(图片来源网络,侵删)
  • 模板文件:纯 HTML 文件,里面用 {dede:标签名 属性='值'} 这样的标记来预留位置。
  • DedeCMS 的核心指令,告诉系统在这里应该插入什么数据,比如文章标题、栏目列表、友情链接等。
  • 解析过程:当用户访问一个页面时,DedeCMS 的 PHP 引擎会读取对应的模板文件,解析里面的标签,从数据库中获取数据,然后替换掉标签,最终生成一个完整的 HTML 页面发送给浏览器。

这种模式的优点是 “前后端分离”的雏形,设计师可以专注于 HTML/CSS 的美化,程序员则专注于 PHP 逻辑和数据处理,互不干扰。


门户资讯模板的文件结构

一个典型的 DedeCMS 门户资讯模板,文件通常存放在 /templets/ 目录下,并按不同模块分类,以下是一个标准的目录结构:

/templets/
├── default/              # 默认模板文件夹,存放所有默认风格
│   ├── index.html        # 首页模板
│   ├── article_article.htm # 文章内容页模板
│   ├── list_channel.htm   # 栏目列表页模板 (通用)
│   ├── list_1.htm         # ID为1的栏目列表页模板 (特定栏目)
│   ├── search.htm         # 搜索结果页模板
│   ├── head.htm           # 公共头部文件 (包含Logo、导航等)
│   ├── footer.htm         # 公共底部文件 (包含版权、友情链接等)
│   └── ...                # 其他页面模板
└── your_custom_theme/    # 你自己创建的自定义主题文件夹
    └── ... (同上)

关键文件说明:

  1. index.html (首页模板)

    dedecms门户资讯模板
    (图片来源网络,侵删)
    • 作用:门户网站的脸面,通常包含最核心、最新的内容。
    • 常见布局:顶部通栏广告、Logo与主导航、焦点新闻(大图轮播)、图文资讯、热门专题、栏目推荐、底部信息等。
    • 常用标签{dede:arclist} (文章列表), {dede:channel} (栏目列表), {dede:flink} (友情链接), {dede:myad} (广告调用)。
  2. list_channel.htm (栏目列表页模板)

    • 作用:用于显示一个栏目下的所有文章列表。
    • 特点:通常比首页简单,包含栏目名称、文章列表、分页条等。
    • DedeCMS 的灵活性:你可以为每个栏目单独设置一个列表页模板,新闻列表页用 list_news.htm,科技列表页用 list_tech.htm,这样不同栏目可以有不同的样式,如果某个栏目没有专属模板,系统就会调用通用的 list_channel.htm
  3. article_article.htm (文章内容页模板)

    • 作用:用于显示单篇文章的详细内容。
    • 常见布局、发布时间、来源、作者、正文内容、相关文章、上一篇/下一篇链接、评论等。
    • 常用标签{dede:field.title} (文章标题), {dede:field.body} (文章正文), {dede:pre next=''/} (上一篇/下一篇)。
  4. head.htmfooter.htm (公共模板文件)

    • 作用:为了提高效率和便于维护,将网站中重复出现的部分(如头部导航、页脚版权)拆分成独立的文件。
    • 调用方式:在 index.html 或其他页面中使用 {dede:include file='head.htm'/}{dede:include file='footer.htm'/} 来引入。
    • 优点:修改一次,全站生效。

核心标签详解 (以首页为例)

下面我们以 index.html 为例,看看最常见的模板标签是如何使用的。

dedecms门户资讯模板
(图片来源网络,侵删)

调用文章列表 ({dede:arclist})

这是最核心、最常用的标签,用于在首页显示文章。

示例:调用“国内新闻”栏目的最新8篇文章,标题加粗,显示摘要。

{dede:arclist typeid='3' titlelen='40' row='8' orderby='pubdate' infolen='200'}
  <li>
    <a href="[field:arcurl/]">[field:title/]</a>
    <p>[field:description/]...</p>
  </li>
{/dede:arclist}

标签属性说明:

  • typeid='3':指定调用栏目ID为3的文章,不写则调用所有栏目的,可以用逗号分隔多个ID,如 typeid='1,2,3',len='40'`:标题长度,最多显示40个字符。
  • row='8':调用文章的数量,这里是8篇。
  • orderby='pubdate':排序方式,按发布日期排序,其他值:click (点击量), id (文章ID)。
  • infolen='200':摘要长度,最多显示200个字符。
  • addfields='...':如果需要调用文章模型的自定义字段(如作者、来源),需要在这里指定字段名。

字段说明 (用 [field:xxx/] 调用):

  • [field:title/]
  • [field:arcurl/]:文章链接。
  • [field:pubdate function='strftime("%Y-%m-%d",@me)'/]:发布日期,function可以对日期进行格式化。
  • [field:description/]
  • [field:litpic/]:文章缩略图。

调用栏目列表 ({dede:channel})

用于显示主导航栏或子栏目。

示例:显示顶级栏目(导航栏)

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

标签属性说明:

  • type='top':只调用顶级栏目。
  • row='8':显示8个栏目。
  • type='son':调用指定栏目的子栏目。

调用友情链接 ({dede:flink})

{dede:flink type='text' row='24'}
  [field:link/]
{/dede:flink}
  • type='text':显示为文字链接。type='image'则为图片链接。
  • row='24':显示24个链接。

调用广告 ({dede:myad})

需要在后台“广告管理”中创建广告位和广告代码。

{dede:myad name='topbanner'/}
  • name='topbanner':调用后台标识为 topbanner 的广告位。

如何制作或修改一个门户资讯模板

  1. 准备工作

    • 设计稿:使用 Photoshop 或 Figma 等工具设计好首页、列表页、内容页的静态效果图。
    • HTML/CSS 切割:将设计稿切割成独立的 HTML 文件和 CSS 文件,确保 CSS 是独立的,方便后续引入。
  2. 安装基础模板

    • 下载一个 DedeCMS 默认模板,或者一个简单的第三方模板作为基础。
    • 将其上传到 /templets/ 目录下,并在后台“系统” -> “系统基本参数” -> “核心设置”中,将“默认模板风格”设置为你刚上传的文件夹名。
  3. 替换结构

    • 用你自己的 HTML 结构替换掉模板文件(如 index.html)中的主要内容部分。
    • 保留 {dede:include file='head.htm'/}{dede:include file='footer.htm'/} 这类引入语句。
  4. 插入标签

    • 在你需要显示动态内容的地方(如新闻列表位置),用 {dede:arclist} 等标签替换掉原来的静态 HTML 内容。
    • 为链接、图片等添加 [field:xxx/] 字段。
  5. 引入 CSS 和 JS

    • 将你自己的 CSS 文件上传到 /templets/your_theme/css/ 目录。
    • head.htm 文件中,使用 <link> 标签引入你的 CSS 文件。
    • 同理,JS 文件放在 /js/ 目录下,并在 head.htmfooter.htm 中用 <script> 标签引入。
  6. 调试与优化

    • 清除 DedeCMS 的模板缓存(后台有相关按钮)。
    • 在前台刷新页面,检查样式是否错乱,数据是否正确显示。
    • 使用浏览器开发者工具(F12)进行调试,修正 CSS 和 HTML 问题。

资源与推荐

  • 官方社区:DedeCMS 官方论坛是学习和求助的最佳场所,有大量模板资源和教程。
  • 模板市场:DedeCMS 官方、CodeIgniter 中文网、以及一些第三方模板网站都提供付费或免费的门户资讯模板。
  • 标签手册:在 DedeCMS 安装目录下,通常有一个 docs 文件夹,里面有详细的标签使用手册,是必备的参考资料。

DedeCMS 的门户资讯模板是一个基于 “模板引擎 + 标签系统” 的强大工具,其核心思想是 与表现分离”,要掌握它,你需要:

  1. 理解文件结构:知道首页、列表页、内容页、公共文件的作用和位置。
  2. 精通核心标签:特别是 {dede:arclist}{dede:channel},以及它们的各种属性和字段。
  3. 具备 HTML/CSS 基础:能够将设计稿转化为网页,并将其与 DedeCMS 标签系统结合。

虽然现在 Vue/React 等现代前端框架更流行,但对于中小型资讯站、企业官网等场景,DedeCMS 及其模板系统因其简单、高效、文档丰富,至今仍然是一个非常实用的选择。