这个概念在 DedeCMS 中通常指的是 顶级栏目(即一级栏目)所使用的独立模板文件,通过设置这个模板,你可以让所有一级栏目都使用一个统一的、专门为它们设计的布局,而二级、三级栏目则可以使用其他模板,从而实现网站结构的清晰化和样式的多样化。

顶级栏目模板是什么?
在 DedeCMS 中,栏目的显示是由系统根据栏目的“模板规则”来决定的,顶级栏目模板就是当系统需要显示一个顶级栏目(新闻中心”、“产品展示”)的列表页时,所调用的那个 .htm 模板文件。
它的作用是定义顶级栏目页面的整体布局,包括:
- 页面头部的
<head>部分(标题、关键词、描述等) - 顶部的导航栏
- 和简介
- 文章列表的样式
- 分页
- 页脚信息等
如何设置顶级栏目模板?
设置顶级栏目模板主要有两种方法,推荐使用第一种,因为它更灵活、更符合 DedeCMS 的设计理念。
在后台栏目管理中为每个栏目指定模板(推荐)
这是最常用也是最精确的方法,你可以为每一个顶级栏目单独指定一个模板文件,实现“一个栏目,一个样式”。

操作步骤:
-
登录 DedeCMS 后台:使用你的管理员账号登录。
-
进入栏目管理:在左侧菜单中,找到「核心」 -> 「栏目管理」。
-
选择顶级栏目:在栏目列表中,点击你想要设置模板的顶级栏目(新闻中心”)的名称或后面的“[更改]”链接。
-
设置模板:在弹出的栏目编辑页面中,找到 “列表模板” 这个输入框。
-
输入模板文件名:在这个输入框中,填写你为顶级栏目准备的模板文件名,如果你的模板文件名是
toplist_article.htm,就在这里填写这个文件名。- 重要提示:这里的文件名是相对于你网站模板目录的,如果你的模板目录是
/templets/default/,那么你只需要写toplist_article.htm即可。
- 重要提示:这里的文件名是相对于你网站模板目录的,如果你的模板目录是
-
保存:点击“确定”或“保存”按钮,设置完成。
重复以上步骤,为其他所有顶级栏目分别设置它们各自的“列表模板”。
修改 channel 标签的默认模板(不推荐,用于全局统一)
如果你希望所有顶级栏目都使用同一个模板,并且不想在后台一个个设置,可以修改系统默认的 操作步骤: 模板文件需要放在 DedeCMS 指定的模板目录下,默认的模板目录是: 如果你的模板文件夹名叫 建议:为了管理方便,最好为顶级栏目模板建立一个专门的文件夹, 下面是一个简单但功能完整的顶级栏目模板示例( 常用标签解释: 希望这份详细的指南能帮助你完全掌握 DedeCMS 顶级栏目模板的使用!channel
channel:channel 标签通常用于生成首页或自定义页面上的栏目导航。channel 标签有一个 type 属性,用于指定栏目类型,对于顶级栏目,通常使用 top。index.htm)中,找到 channel 标签。
{dede:channel type='top'}
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
{dede:channel type='top' row='8' template='toplist_common.htm'}
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
template='toplist_common.htm':这里指定了所有顶级栏目都将使用 toplist_common.htm 这个模板文件。template 参数,后台的设置将失效,除非你确定所有顶级栏目样式完全一样,否则不推荐此方法。
顶级栏目模板文件应该放在哪里?
/你的网站根目录/templets/你的模板名称/default,那么模板文件就应该放在:/wwwroot/templets/default/toplist_article.htm/wwwroot/templets/default/channel/toplist_article.htm
顶级栏目模板文件示例
toplist_article.htm),你可以根据这个模板进行修改和扩展。{dede:include filename="head.htm"/} <!-- 包含头部文件,如 <head>、导航栏等 -->
<!-- 主要内容区开始 -->
<div class="main-container">
<div class="page-title">
<h1>{dede:field.typename/}</h1> <!-- 当前栏目名称 -->
<p class="page-description">{dede:field.description/}</p> <!-- 当前栏目简介 -->
</div>
<!-- 文章列表开始 -->
<div class="article-list">
{dede:list pagesize='10'} <!-- 调用文章列表,每页10条 -->
<div class="article-item">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2> <!-- 文章标题和链接 -->
<div class="article-info">
<span>发布时间:[field:pubdate function="MyDate('Y-m-d H:i',@me)"/]</span> <!-- 发布时间 -->
<span>作者:[field:writer/]</span>
<span>点击:[field:click/]</span>
</div>
<p class="article-summary">[field:description function="cn_substr(@me, 200)"/]...</p> <!-- 截取200字符 -->
</div>
{/dede:list}
</div>
<!-- 文章列表结束 -->
<!-- 分页开始 -->
<div class="pagination">
{dede:pagelist listsize='4' listitem='index,pre,next,end,option'/}
</div>
<!-- 分页结束 -->
</div>
<!-- 主要内容区结束 -->
{dede:include filename="footer.htm"/} <!-- 包含底部文件 -->
{dede:field.typename/}:获取当前栏目的名称。{dede:field.description/}:获取当前栏目的描述。{dede:list}:用于在栏目页循环列出该栏目下的文章。
pagesize='10':设置每页显示的文章数量。[field:arcurl/]:文章的链接地址。[field:title/]。[field:pubdate/]:文章发布时间,通常配合 function 进行格式化。[field:click/]:文章点击次数。[field:description/]:同样可以配合 function 进行截取。{dede:pagelist}:生成文章分页链接。
listsize='4':显示“上一页”、“下一页”等按钮之外的页码数量。listitem='...':定义要显示的分页元素。
常见问题与注意事项
include)公共的头部(head.htm)和底部(footer.htm),这样可以使代码更简洁,修改也更方便。
