核心概念:列表是什么?
列表就是指一个栏目下的所有文档(文章)的聚合展示页面。

(图片来源网络,侵删)
当你在网站导航栏点击“新闻中心”时,跳转的那个页面,新闻中心”这个栏目的列表页,它的主要任务是:
- 展示文档:按照设定的规则,循环显示该栏目下的所有文章。
- 提供分页:如果文章很多,自动生成分页导航,方便用户浏览。
- 设定样式:控制每篇文章的标题、发布时间、缩略图等信息的显示格式。
列表页的构成与原理
一个完整的列表页通常由以下几个部分构成,理解这些部分有助于你更好地自定义列表:
-
列表模板
- 作用:这是最核心的部分,它是一个 HTML 文件,定义了列表页的布局和样式。
- 命名规则:通常为
list_栏目ID.htm,如果你的“新闻中心”栏目 ID 是 1,那么它的列表模板文件就是list_1.htm。 - 模板文件中会使用 DedeCMS 的模板标签来动态调用数据,最核心的标签是:
{dede:list pagesize='10'} <a href='[field:arcurl/]'>[field:title/]</a> <p>[field:description/]...</p> <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span> {/dede:list}{dede:list}...{/dede:list}:这是一个循环标签,会循环输出栏目下的文章。pagesize='10':定义每页显示 10 篇文章。[field:arcurl/]:文章的链接地址。[field:title/]:文章的标题。[field:description/]:文章的摘要。[field:pubdate/]:文章的发布日期,function="..."可以对日期进行格式化。
-
分页标签
(图片来源网络,侵删)- 作用:在列表模板中,这个标签用来生成分页导航(如:首页 上一页 1 2 3 4 5 下一页 末页)。
- 位置:通常放在
{dede:list}循环标签的后面。 - 代码:
{dede:pagelist listsize='4' listitem='index pre pageno next end '/}listsize:显示的页码按钮数量。listitem:定义显示哪些分页元素。
-
栏目SEO设置
- 作用:控制列表页在搜索引擎中显示的标题、关键词和描述。
- 位置:在后台“栏目管理” -> 选择某个栏目 -> 修改 -> “高级选项”选项卡。
- 重要标签:
栏目名称:{dede:field.seotitle/}或{dede:field.typename/}栏目关键词:{dede:field.keywords/}栏目描述:{dede:field.description/}
-
附加字段
- 作用:在列表页中,除了默认的标题、日期外,还可能需要显示自定义的字段,如“作者”、“来源”、“点击量”等。
- 实现方法:
- 在后台“系统” -> “系统基本参数” -> “核心设置”中,确保“列表附加字段”已经填写了你需要的字段名(如
author,click)。 - 在列表模板
{dede:list}循环中使用[field:作者字段名/]来调用。
- 在后台“系统” -> “系统基本参数” -> “核心设置”中,确保“列表附加字段”已经填写了你需要的字段名(如
如何管理栏目列表?(后台操作步骤)
假设你要创建一个新的栏目“产品案例”,并设置其列表页。
步骤 1:创建栏目

(图片来源网络,侵删)
- 登录 DedeCMS 后台。
- 菜单栏找到【核心】 -> 【栏目管理】。
- 点击【增加顶级栏目】。
- 填写栏目信息:
- 栏目名称:产品案例
- 栏目目录:products (英文,用于生成URL)
- 栏目类型:选择“栏目”
- 列表模板:选择或上传一个列表模板文件(如
list_product.htm),如果留空,则使用系统默认的。 - 其他SEO设置:填写栏目关键词、描述等。
- 点击【确定】,栏目创建成功。
步骤 2:为栏目添加文章
- 在【栏目管理】中,点击“产品案例”栏目后面的【新增文档】。
- 填写文章标题、内容、缩略图等信息。
- 点击【确定】发布,重复此步骤,添加多篇文章。
步骤 3:访问并查看列表页
- 在前台网站,通过导航栏访问“产品案例”栏目。
- 浏览器会自动生成类似
http://你的网站.com/products/的URL。 - 你会看到一个页面,循环展示了你添加的所有文章,并带有分页。
常见问题与自定义技巧
如何修改列表页的样式?
- 方法:直接编辑对应的列表模板文件(如
list_1.htm)。 - 示例:想在每篇文章标题前加一个图标。
{dede:list} <div class="list-item"> <i class="fa fa-file-text-o"></i> <!-- 这里加了一个图标 --> <a href='[field:arcurl/]'>[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span> </div> {/dede:list}然后在你的 CSS 文件中定义
.list-item的样式即可。
为什么列表页没有内容?
- 原因1:该栏目下还没有任何文章。
- 原因2:栏目设置错误,检查栏目类型是否为“栏目”,而不是“外部链接”或“单页”。
- 原因3:模板标签错误,检查
{dede:list}标签是否拼写正确,是否被其他标签错误地包含或关闭。 - 原因4:栏目没有生成,在后台【生成】 -> 【一键生成所有】中,重新生成一下栏目和列表页。
如何在列表页显示文章的缩略图?
- 方法:在文章编辑时,必须上传“缩略图”,然后在列表模板中调用。
- 模板代码:
{dede:list} <div class="list-item"> <img src="[field:litpic/]" alt="[field:title/]" width="100" height="100" /> <a href='[field:arcurl/]'>[field:title/]</a> </div> {/dede:list}[field:litpic/]就是调用文章缩略图的标签。
如何自定义分页样式?
- 方法:DedeCMS 的分页标签
{dede:pagelist}默认输出的是一套固定的 class 名(如pageinfo,pagepre,pageno等)。 - 操作:
- 找到并打开
/include/arc.listview.class.php文件。 - 搜索
GetPageListDM函数,你会看到生成分页 HTML 的代码。 - 修改
$listdd等变量中的 class 名,将其改成你想要的 CSS 类名(如.page-numbers,.prev-page等)。 - 然后在你网站的 CSS 文件中,为这些新的 class 定义样式。
- 找到并打开
| 概念 | 作用 | 关键点 |
|---|---|---|
| 列表页 | 展示一个栏目下所有文章的聚合页面 | 网站的频道页、分类页 |
| 列表模板 | 定义列表页的HTML结构和样式 | 文件名 list_栏目ID.htm,核心标签 {dede:list} |
| 分页标签 | 生成文章列表的分页导航 | 标签 {dede:pagelist},控制显示哪些页码按钮 |
| SEO设置 | 控制列表页在搜索引擎中的表现 | 在“栏目管理-高级选项”中设置 |
掌握 DedeCMS 的列表功能,是进行网站二次开发和内容布局的基础,核心思路就是:后台管理数据 -> 前台模板展示数据,通过灵活运用模板标签,你可以打造出各种风格的列表页面。
