核心概念:它们是什么?
这两种模板定义了不同类型页面的“皮肤”和“布局”。

-
封面模板
- 作用:用于显示一个频道(栏目)或内容的首页,你可以把它理解为一个“门面”或“欢迎页”。
- :它不直接列出文章,而是以更宏观、更吸引人的方式展示该频道的信息,通常包括:
- 频道/栏目名称和简介
- 指定的一篇或多篇推荐文章/头条文章
- 该频道下的子栏目列表
- 该频道下的文章列表(通常数量较少,或者只展示特定条件的文章)
- 相关的图片集、专题等
- 典型场景:
- 网站首页(通常设置为网站的“主站”封面)。
- 一个产品大类(如“手机”频道)的介绍页,页面上展示几款热门手机和所有手机品牌的子分类。
- 一个新闻频道(如“科技新闻”)的聚合页,展示最重要的几条科技新闻和新闻分类。
-
列表模板
- 作用:用于显示一个频道(栏目)下的所有文章列表,你可以把它理解为一个“目录页”或“文章索引页”。
- :它的核心功能就是罗列文章,通常包括:
- 发布时间、作者、来源
- 简介)
- 点击量、评论数等辅助信息
- 分页导航
- 典型场景:
- 点击“手机”频道下的“苹果”子栏目后,进入的页面就是“苹果”这个栏目的列表页,里面会列出所有苹果手机的文章。
- 网站首页的“最新文章”板块,虽然它也在首页,但它调用的是列表模板的标签来展示内容。
关键区别:一张图看懂
| 特性 | 封面模板 | 列表模板 |
|---|---|---|
| 核心功能 | 展示频道概览,吸引访客,提供入口 | 罗列文章索引,方便访客查找和浏览 |
| 页面布局 | 灵活多样,可以包含大图、轮播图、图文混排等 | 相对规整,通常是标题列表、摘要列表等形式 |
| 使用场景 | 频道首页、专题页、自定义的欢迎页 | 栏目下的文章列表页、搜索结果页等 |
| 典型标签 | {dede:arclist} (调用推荐文章), {dede:channel} (调用子栏目) |
{dede:list} (核心标签,用于循环列出文章) |
| 模板文件 | templets/default/default.htm (默认首页封面) |
templets/default/article_list.htm (默认列表页) |
如何创建和使用?
步骤 1:在后台创建模板文件
- 登录 DedeCMS 后台。
- 菜单栏找到 “模板” -> “模板管理”。
- 在左侧选择你的网站目录(默认是
default)。 - 点击右上角的 “增加模板”。
- 创建封面模板:
- 模板名称:填写一个你容易识别的名字,如
index_cover.htm。 - 模板类型:选择 “封面模板”。
- :编写你的 HTML 和 DedeCMS 标签代码。
- 点击 “保存”。
- 模板名称:填写一个你容易识别的名字,如
- 创建列表模板:
- 模板名称:填写一个名字,如
article_list.htm。 - 模板类型:选择 “列表模板”。
- :编写你的 HTML 和 DedeCMS 标签代码。
- 点击 “保存”。
- 模板名称:填写一个名字,如
步骤 2:将模板分配给栏目
这是最关键的一步!模板文件本身不会生效,必须把它“挂载”到具体的栏目上。
- 菜单栏找到 “频道模型” -> “栏目管理”。
- 点击你想要设置的那个栏目(手机”)的 “[更改]” 或 “[修改]” 链接。
- 在弹出的栏目编辑页面中,找到 “高级选项” 标签页。
- 在 “列表模板选项” 部分:
- 封面模板:从下拉菜单中选择你刚刚创建的封面模板(如
index_cover.htm)。 - 列表模板:从下拉菜单中选择你刚刚创建的列表模板(如
article_list.htm)。
- 封面模板:从下拉菜单中选择你刚刚创建的封面模板(如
- 点击 “确定” 保存。
当你访问这个“手机”栏目时,DedeCMS 就会自动调用你设置的封面模板,当你点击它的子栏目或进入“下一页”时,就会调用列表模板。

核心标签详解
封面模板常用标签
封面模板主要用来“展示”,所以常用的是 列表模板只有一个核心标签,但它是循环生成列表的关键。 重要: 内部字段:通过 常用内部字段: 示例:一个完整的列表页模板结构。 假设我们要做一个“公司新闻”栏目。 创建模板文件: 分配模板: 查看效果: 通过灵活运用这两种模板和它们对应的标签,你可以构建出结构清晰、内容丰富的网站,多练习、多模仿现有网站的布局,很快就能熟练掌握。arclist 和 channel
{dede:arclist}:万能的文章列表标签,在封面模板中用来调用推荐、头条等特定文章。
row:调用文章数量。titlelen长度。orderby:排序方式(如 pubdate 按发布时间,click 按点击量)。typeid:指定栏目ID,调用某个栏目下的文章。flag:指定文章属性,如 h (头条), c (推荐), p (图片)。{dede:arclist typeid='3' flag='c' row='5' titlelen='30'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</li>
{/dede:arclist}
{dede:channel}:用于调用栏目列表,常用于展示子栏目。
typeid:指定从哪个栏目开始调用(通常填当前栏目ID {dede:field.id/})。row:调用栏目数量。type='son':调用子栏目。{dede:channel type='son' typeid='{dede:field.id/}'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
列表模板核心标签
{dede:list}:列表页的“灵魂”,用于循环列出当前栏目下的所有文章。
{dede:list} 标签内部必须有一个 {listpages} 标签来生成分页代码。[field:字段名/] 来获取文章的各个信息。
[field:title][field:arcurl]:文章链接[field:pubdate]:发布时间[field:description]:文章摘要[field:click]:点击量[field:writer]:作者<!DOCTYPE html>
<html>
<head>
<title>{dede:field.title/}_{dede:global.cfg_webname/}</title>
</head>
<body>
<h1>{dede:field.title/}</h1>
<p>{dede:field.description/}</p>
<ul class="article-list">
{dede:list pagesize='10'} <!-- pagesize控制每页显示10条 -->
<li>
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<div class="info">
发布时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]
作者:[field:writer/]
点击:[field:click/]
</div>
<p class="summary">[field:description/]...</p>
</li>
{/dede:list}
</ul>
<!-- 分页代码,必不可少! -->
<div class="page-nav">
{dede:pagelist listsize='4' listitem='info,index,end,pre,next,pageno'}
</div>
</div>
</body>
</html>
实战演练:一个简单的栏目
news_cover.htm 的封面模板如下:
<h1>公司新闻</h1>
<p>这里是公司新闻频道的首页,展示最重要的新闻。</p>
【最新新闻】
{dede:arclist typeid='新闻栏目ID' row='5' titlelen='40'}
【新闻分类】
{dede:channel type='son' typeid='新闻栏目ID'}
```
news_list.htm 的列表模板就是上面 list 标签的示例代码。
news_cover.htm,列表模板指向 news_list.htm。
news_cover.htm 的布局。news_list.htm 生成的、包含所有新闻文章的列表页。
