使用 typeid 属性
DedeCMS的栏目调用标签 {dede:channel} 有一个非常重要的属性 typeid,它可以指定要调用的栏目ID,我们的核心任务就变成了:如何找到“排序为5”的那个栏目的ID。

(图片来源网络,侵删)
找到目标栏目的ID
- 登录你的DedeCMS后台。
- 在左侧菜单栏中,点击【栏目】->【栏目管理】。
- 在栏目列表中,找到你想要调用的那个“排序为5”的栏目。
- 将鼠标移动到该栏目名称上,浏览器底部状态栏会显示其链接,
https://www.yoursite.com/plus/catalog.php?cid=5,这里的cid=5就是你需要的 栏目ID。
注意:“排序”和“栏目ID”是两个不同的概念。
- 排序:是在后台【栏目管理】列表中,栏目名称旁边显示的数字,用于在前台调用时进行排序(默认是升序)。
- 栏目ID:是系统为每个栏目自动分配的唯一识别码,即使你修改了栏目的排序,它的ID也不会变。
我们这里假设你通过上述方法找到的栏目ID是 5。
调用单个指定ID的栏目(最常用)
如果你只想调用这一个栏目(只显示它的名称和链接),使用 typeid 属性是最直接的方法。
标签代码:

(图片来源网络,侵删)
{dede:channel typeid='5'}
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
代码解释:
{dede:channel typeid='5'}:调用栏目ID为5的栏目。typeid后面跟上你找到的ID。[field:typeurl/]:调用该栏目的链接地址。[field:typename/]:调用该栏目的名称。
输出结果示例: 如果ID为5的栏目是“公司简介”,那么这段代码会输出:
<a href="/plus/list.php?tid=5">公司简介</a>
调用包含该ID的多个栏目(推荐)
如果你想在调用栏目列表时,将“排序为5”的栏目放在最前面,或者单独把它和其他几个栏目放在一起,可以使用 typeid 属性传入多个ID,用英文逗号隔开。
场景: 你想让ID为5的栏目(公司简介”)和ID为10的栏目(联系我们”)一起显示。

(图片来源网络,侵删)
标签代码:
<ul>
{dede:channel typeid='5,10'}
<li>
<a href="[field:typeurl/]" title="[field:typename/]">[field:typename/]</a>
</li>
{/dede:channel}
</ul>
代码解释:
typeid='5,10':同时调用ID为5和ID为10的栏目。<ul>和<li>:这是典型的列表HTML结构,方便你进行样式美化。
输出结果示例:
<ul>
<li>
<a href="/plus/list.php?tid=5" title="公司简介">公司简介</a>
</li>
<li>
<a href="/plus/list.php?tid=10" title="联系我们">联系我们</a>
</li>
</ul>
通过排序值调用(不推荐,但存在)
如果你确定“排序为5”的栏目就是ID为5的栏目,并且未来这个排序不会改变,你可以利用 reid 和 topid 等属性结合排序来实现,但这种方法非常脆弱,一旦栏目排序或结构发生变化,调用就会出错。
标签代码:
(此代码效果等同于 typeid='5',仅作知识展示)
{dede:channel type='son' reid='0' row='1' orderby='sort'}
<a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}
orderby='sort':表示按照后台的“排序”字段进行排序。row='1':只调用1条记录。type='son' reid='0':表示调用顶级栏目。
这种方法不如直接使用 typeid 精准和稳定,强烈不推荐使用。
总结与最佳实践
| 场景 | 推荐方法 | 标签代码 | 优点 |
|---|---|---|---|
| 调用单个特定栏目 | 使用 typeid 指定ID |
{dede:channel typeid='5'}...{/dede:channel} |
最精准、最稳定、最高效,不受任何其他因素影响。 |
| 调用多个指定栏目 | 使用 typeid 传入多个ID |
{dede:channel typeid='5,10,15'}...{/dede:channel} |
灵活,可以自由组合栏目。 |
| 按顺序调用所有顶级栏目 | 使用默认的 channel
|
最终建议:
忘记“排序为5”这个说法,直接去后台找到你想要的栏目,复制它的ID,然后使用 typeid='你复制的ID' 的方式来调用,这是最可靠、最不会出错的DedeCMS栏目调用方式。
