使用 typeid 属性(推荐,最常用)
这是最直接、最常用的方法。typeid 属性用于指定要调用的栏目 ID,多个栏目 ID 用英文逗号 分隔。

基本语法
{dede:channel typeid='栏目ID1,栏目ID2,栏目ID3' ...}
<a href='[field:typeurl/]'>[field:typename/]</a>
{/dede:channel}
示例
假设你要同时调用 ID 为 1、3、5 的三个顶级栏目。
<ul>
{dede:channel typeid='1,3,5'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
进阶用法:指定栏目级别
你还可以在 typeid 中指定不同层级的栏目,DedeCMS 会自动处理层级关系。
示例:调用 ID 为 1 的一级栏目及其所有子栏目
<ul>
{dede:channel type='son' typeid='1'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
这里的 type='son' 表示调用指定栏目(ID=1)的子栏目。

使用 reid 属性(调用指定父栏目的所有子栏目)
如果你的多个栏目是同一个父栏目的子栏目,使用 reid 属性会更方便。reid 指的是父栏目 ID。
基本语法
{dede:channel reid='父栏目ID' ...}
<a href='[field:typeurl/]'>[field:typename/]</a>
{/dede:channel}
示例
假设栏目结构如下:
- 首页 (ID: 1)
- 产品中心 (ID: 2)
- 产品分类一 (ID: 7)
- 产品分类二 (ID: 8)
- 产品分类三 (ID: 9)
- 新闻资讯 (ID: 3)
- 公司新闻 (ID: 10)
- 行业动态 (ID: 11)
- 产品中心 (ID: 2)
如果你想一次性调用“产品分类一”、“产品分类二”、“产品分类三”,你可以使用它们的父栏目 ID 2。
<div class="product-categories">
<h3>产品分类</h3>
<ul>
{dede:channel reid='2'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</div>
这个方法比 typeid='7,8,9' 更灵活,因为如果将来在“产品中心”下增加了新的子栏目,无需修改模板代码。
使用 SQL 查询(最灵活,功能最强)
当 typeid 和 reid 无法满足复杂需求时(调用多个不同父栏目的子栏目,或者有其他筛选条件),可以直接在模板中嵌入 SQL 查询。
基本语法
使用 假设你想要调用 ID 为 7、8、10、11 的栏目,它们属于不同的父栏目。 SQL 语句说明: 如何选择? 如果你不确定栏目的 ID,可以在 DedeCMS 后台找到:{dede:sql}
{dede:sql sql="SELECT id,typename,typeurl FROM `dede_arctype` WHERE id IN (栏目ID1,栏目ID2,栏目ID3) ORDER BY id"}
<a href='[field:typeurl/]'>[field:typename/]</a>
{/dede:sql}
示例
<div class="mixed-categories">
<h3>指定栏目</h3>
<ul>
{dede:sql sql="SELECT id,typename,typeurl FROM `dede_arctype` WHERE id IN (7,8,10,11) ORDER BY id ASC"}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:sql}
</ul>
</div>
SELECT id,typename,typeurl FROM dede_arctype:从 dede_arctype (栏目表) 中选择 id、typename (栏目名) 和 typeurl (栏目链接) 这几个字段。WHERE id IN (7,8,10,11):筛选出 ID 为 7、8、10、11 的记录。IN 关键字用于指定多个可能的值。ORDER BY id ASC:按 ID 升序排列,让栏目顺序固定。
总结与对比
方法
适用场景
优点
缺点
typeid调用任意指定的几个栏目(无论层级)。
简单、直观、最常用。
如果栏目 ID 变动,需要手动修改模板。
reid调用同一个父栏目下的所有子栏目。
自动包含所有子栏目,维护方便。
不适用于跨父栏目的多个栏目。
{dede:sql}需要复杂筛选条件(如跨父栏目、按字母排序等)。
功能最强大,灵活性极高。
需要编写 SQL 语句,对新手有一定门槛。
typeid。reid 更方便。{dede:sql} 是最好的选择。获取栏目 ID 的方法
cid= 后面的数字就是该栏目的 ID。
