DedeCMS中的栏目模板,其文件本身是 .htm 或 .php 文件,而不是 .dede 文件。

(图片来源网络,侵删)
.dede 文件是 DedeCMS 后台管理系统使用的特定格式的模板文件,它们主要用于定义后台的表单界面,比如添加、编辑栏目时的页面布局,这些文件通常位于 /dede/templets/ 目录下。
你的问题可以理解为两部分:
- 前台栏目模板文件:控制网站前台栏目页显示样式的文件。
- 后台栏目管理模板文件(.dede文件):控制后台添加/编辑栏目界面样式的文件。
下面我们分别详细说明。
前台栏目模板文件
这是最常被提及的“栏目模板”,它决定了当你访问一个栏目(https://www.yoursite.com/news/)时,浏览器中显示的内容和样式。

(图片来源网络,侵删)
文件位置
默认情况下,这些模板文件位于你网站根目录下的 /templets/ 文件夹中,通常会按栏目目录或系统默认的目录(如 default/)进行组织。
一个名为“新闻”的栏目,其目录可能是 /templets/default/news/。
文件命名规则
DedeCMS通过数据库来关联栏目和其对应的模板文件,在后台的【栏目管理】中,每个栏目都有一个“栏目模板”选项,你可以在这里指定具体的模板文件名。
常见的命名约定:
index.htm:最常用、最标准的名称,代表该栏默认的首页模板。list_栏目ID.htm:栏目ID为5,则文件名为list_5.htm,这种命名方式可以确保每个栏目使用完全独立的模板,避免混淆。- 自定义名称:你可以任意命名,如
news_list.htm,article_show.htm等,只要在后台栏目管理中正确指定即可。
与标签
栏目模板文件是标准的 HTML 文件,里面嵌套了 DedeCMS 的模板标签,用于动态调用数据。
核心标签:
{dede:channelartlist}:用于获取顶级栏目及其子栏目,常用于制作网站主导航和子栏目列表。{dede:channel}:用于获取单个或多个栏目的信息。{dede:list}:这是栏目模板中最核心的标签,它用于循环调用该栏目下的文章列表。pagesize='20':属性,表示每页显示20篇文章。- 底层循环
{/dede:list}:在{dede:list}和{/dede:list}之间,是单篇文章的显示格式。
{dede:field}:用于调用当前栏目的信息,如栏目名称、栏目描述等。{dede:field name='typename'/}:显示栏目名称。{dede:field name='description'/}:显示栏目描述。
{dede:pagelist}:用于生成分页导航链接。
示例 list.htm (栏目列表页模板):
<!DOCTYPE html>
<html>
<head>{dede:field name='typename'/} - {dede:global.cfg_webname/}</title>
</head>
<body>
<h1>{dede:field name='typename'/}</h1>
<p>{dede:field name='description'/}</p>
<hr>
<!-- 使用 {dede:list} 调用文章列表 -->
{dede:list pagesize='10'}
<div class="article-item">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<p>[field:description function='cn_substr(@me, 100)'/]...</p>
<p>发布时间:[field:pubdate function="MyDate('Y-m-d', @me)"/] | 作者:[field:writer/]</p>
</div>
{/dede:list}
<!-- 生成分页条 -->
<div class="page-nav">
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
</div>
</body>
</html>
后台栏目管理模板文件(.dede 文件)
这类文件是专门给DedeCMS后台管理员使用的,用于定义在后台添加、编辑、修改栏目时看到的表单界面。
文件位置
这些文件固定位于 /dede/templets/ 目录下。
常见的 .dede 文件及其用途
| 文件名 | 用途说明 |
|---|---|
catalog_add.htm |
添加新栏目时的表单模板,你在后台点击“增加一个栏目”按钮,弹出的窗口内容就是由这个文件定义的。 |
catalog_edit.htm |
编辑已有栏目时的表单模板,在后台选择一个栏目,点击“修改”按钮,弹出的窗口内容由此文件定义。 |
catalog_do.htm |
这个文件不直接显示界面,而是处理 catalog_add.htm 和 catalog_edit.htm 提交过来的数据,进行数据库操作,它通常包含一些PHP处理逻辑。 |
type_add.htm |
用于添加“频道模型”(主栏目)的表单界面。 |
type_edit.htm |
用于编辑“频道模型”的表单界面。 |
.dede 文件的特点
- 主要是 HTML 表单元素(
<form>,<input>,<select>,<textarea>等)和少量PHP代码。 - 数据绑定:表单字段的
name属性值与数据库中dede_arctype表(栏目表)的字段名相对应。<input name="typename" ...>对应数据库中的typename字段。 - 功能:这些文件定义了栏目的各种属性,如:
typename:栏目名称typedir:栏目目录isdefault:是否作为默认页defaultname:默认页文件名templist:栏目列表模板temparticle页模板modulus:列表分页模版- 等等...
示例 catalog_add.htm (部分代码):
<form name="addform" action="catalog_add.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="dopost" value="save" />
<table width="100%" border="0" cellpadding="1" cellspacing="1" align="center" class="tbtitle">
<tr>
<td height="28" colspan="2" bgcolor="#f8f8f8">
<strong>基本参数</strong>
</td>
</tr>
<tr>
<td height="28" width="120" bgcolor="#f8f8f8">栏目名称:</td>
<td>
<input name="typename" type="text" id="typename" size="30" class="text" />
</td>
</tr>
<tr>
<td height="28" bgcolor="#f8f8f8">栏目目录:</td>
<td>
<input name="typedir" type="text" id="typedir" size="30" value="{typedir}" class="text" />
<span>建议用英文字母和数字</span>
</td>
</tr>
<!-- 更多表单行... -->
</table>
<table width="100%" border="0" cellpadding="1" cellspacing="1" align="center">
<tr>
<td height="45" colspan="2" align="center">
<button type="submit" class="btn">保存</button>
<button type="button" class="btn" onclick="window.location='catalog_main.php'">返回</button>
</td>
</tr>
</table>
</form>
| 类型 | 文件后缀 | 主要作用 | 位置 | 关联 |
|---|---|---|---|---|
| 前台栏目模板 | .htm / .php |
控制网站前台栏目页的显示样式 | /templets/.../ |
在后台【栏目管理】中为每个栏目指定 |
| 后台栏目管理模板 | .htm (关联 .php) |
定义后台添加/编辑栏目时的表单界面 | /dede/templets/ |
固定文件名,如 catalog_add.htm,由系统调用 |
.htm文件是给访客看的。.dede相关的.htm文件是给管理员在后台用的。
希望这个详细的解释能帮助你完全理解DedeCMS中栏目模板文件的结构和用途!
