什么是栏目 ID?
栏目 ID,在 DedeCMS 数据库中对应的是 dede_arctype 表里的 id 字段,它是一个唯一的数字,用来标识网站中的每一个栏目。

(图片来源网络,侵删)
栏目 ID 就是每个栏目的“身份证号”,在整个系统中是独一无二的。
如何找到栏目 ID?
有几种非常简单的方法可以找到你需要的栏目 ID:
在后台栏目管理中直接查看(最常用)
这是最直接、最常用的方法。
- 登录你的 DedeCMS 后台管理系统。
- 在左侧菜单中,找到 「核心」 -> 「栏目管理」。
- 点击 「栏目管理」,你就能看到网站所有的栏目列表。
- 在列表的最左侧一列,显示的就是每个栏目的 ID。
在数据库中直接查询
如果你需要编程获取或者进行批量操作,直接查询数据库是最快的方式。

(图片来源网络,侵删)
- 通过 FTP 或主机控制面板连接到你的服务器。
- 找到你的数据库文件,通常使用 phpMyAdmin 等工具进行管理。
- 选择你的 DedeCMS 数据库(默认是
dedecms)。 - 点击
dede_arctype表。 - 你会看到所有字段,
id字段就是栏目 ID,你也可以执行 SQL 查询:SELECT id, typename FROM dede_arctype;
这会列出所有栏目的 ID 和名称。
在前台页面源码中查找(不推荐,但可行)
有时候你可能在前台模板中看到过栏目 ID。
- 在浏览器中打开任意一个栏目列表页或文章页。
- 右键点击页面,选择 “查看网页源代码”。
- 按
Ctrl + F搜索typeid或typeid=,你可能会找到类似这样的代码:<a href="/plus/list.php?tid=**6**">产品中心</a>
这里的
tid=6中的6就是这个“产品中心”栏目的 ID。注意: 这种方法只能找到可见栏目,且依赖于模板的具体实现,不如后台查看准确。
栏目 ID 有什么用?
栏目 ID 是 DedeCMS 系统运作的核心,用途非常广泛:

(图片来源网络,侵删)
前台模板调用(最核心的用途)
在 DedeCMS 的模板文件(.htm)中,你需要通过栏目 ID 来获取指定栏目的内容。
-
获取指定栏目的列表 在列表页模板(如
list_article.htm)中,系统会自动获取当前栏目的 ID,并调用该 ID 下的所有文章。 -
在首页或其他页面调用指定栏目的内容 你可以使用 DedeCMS 的标签(如
arclist,channel)来调用任意一个栏目的内容,这时就需要指定栏目 ID。示例: 在首页调用 ID 为
5的栏目下的文章列表。{dede:arclist typeid='5' titlelen='30' row='8'} <li> <a href="[field:arcurl/]">[field:title/]</a> </li> {/dede:arclist}这里的
typeid='5'就是关键,它告诉系统去调用 ID 为 5 的栏目。 -
获取当前栏目的名称、简介等信息 在列表页或内容页,可以使用
typeid变量来获取当前栏目的信息。当前栏目ID:{dede:type}[field:id/]{/dede:type} 当前栏目名称:{dede:type}[field:typename/]{/dede:type}
后台 PHP 程序开发
如果你在开发自定义的功能或修改后台程序,你几乎离不开栏目 ID。
- 查询文章: 文章表
dede_archives中有一个typeid字段,它记录了这篇文章所属的栏目 ID,通过这个 ID,你可以找到所有属于某个栏目的文章。// 伪代码:查询属于ID为5的栏目下的所有文章 $articles = $db->getAll("SELECT * FROM dede_archives WHERE typeid = 5"); - 栏目关系: 父级栏目、子级栏目的关系也是通过 ID 来维护的。
dede_arctype表中的topid字段表示顶级栏目 ID,reid字段表示父级栏目 ID。
数据库操作
在进行数据迁移、备份或批量修改时,你需要在数据库中精确地定位到某个栏目,这时 id 字段就是你的主要依据。
重要提醒
- 不要随意修改 ID: 除非你非常清楚自己在做什么,否则不要手动在数据库中修改栏目的 ID,这可能会导致文章、模型、自定义字段等关联数据错乱,网站出现严重错误。
- 删除栏目的影响: 当你在后台删除一个栏目时,所有属于该栏目的文章(如果选择“删除所有内容”)都会被一起删除,这是因为文章通过
typeid与栏目关联,栏目不存在了,文章也就成了“孤儿数据”。
| 项目 | 说明 |
|---|---|
| 定义 | 栏目在 dede_arctype 表中的唯一数字标识符 (id 字段)。 |
| 如何查找 | 后台「栏目管理」列表 (最推荐)。 数据库 dede_arctype 表。前台源码搜索 typeid (不推荐)。 |
| 核心用途 | 前台模板调用:通过 typeid 属性指定要显示的栏目内容。后台程序开发:用于查询、关联和处理栏目及其内容。 数据库操作:精确定位和操作数据。 |
| 注意事项 | 不要随意手动修改 ID,否则可能导致系统数据错乱。 |
希望这个详细的解释能帮助你完全理解 DedeCMS 的栏目 ID!
