核心标签
-
{dede:channel}:用于获取栏目(栏目表dede_arctype)的信息。
(图片来源网络,侵删)- 用途:获取栏目的名称、链接、ID、描述、图标等。
- 常用属性:
typeid(指定栏目ID)、row(调用数量)、type(栏目类型)等。
-
{dede:arclist}:用于获取文章(文档表dede_archives)的信息。- 用途:调用指定栏目下的文章列表,显示文章标题、时间、点击量等。
- 常用属性:
typeid(指定栏目ID)、row(调用文章数量)、titlelen长度)、infolen(摘要长度)等。
使用 channel 标签调用栏目基本信息
如果你只想获取并显示某个栏目本身的信息,比如栏目名称和链接,这是最直接的方法。
场景:在网站的页脚或侧边栏,显示“关于我们”这个栏目的名称和链接。
步骤:

(图片来源网络,侵删)
-
找到栏目ID:
- 登录织梦后台,进入“栏目管理”。
- 找到你想要调用的栏目(关于我们”),将鼠标悬停在该栏目上,浏览器状态栏会显示一个链接,如
.../catalog_add.php?cid=3,这里的cid=3就是该栏目的ID,或者直接点击栏目,在URL中也能看到typeid=3。
-
在模板文件中使用标签:
- 打开你想要显示栏目的模板文件(
footer.htm)。 - 在需要的位置插入以下代码:
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>-
如何指定栏目ID?
-
方法A (推荐,最灵活):在
channel标签中直接指定typeid。
(图片来源网络,侵删)<!-- 调用ID为3的栏目 --> <a href="{dede:channel typeid='3' type='self'}"> {dede:field name='typename'/} </a>typeid='3':明确指定调用ID为3的栏目。type='self':表示只调用当前栏目本身的信息,而不是其子栏目。
-
方法B (常用):在模板中定义一个变量,然后调用,这种方式在循环调用多个栏目时非常有用。
{dede:channel typeid='3' type='self'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}[field:typeurl/]和{dede:field name='typeurl'/}是等效的,都是调用当前标签所指向栏目的URL。[field:typename/]和{dede:field name='typename'/}是等效的,调用栏目名称。
-
- 打开你想要显示栏目的模板文件(
使用 arclist 标签调用栏目下的文章列表
这是最常见的需求:显示某个特定栏目下的最新文章、推荐文章等。
场景:在首页的某个位置,专门显示“产品中心”栏目的最新5篇文章。
步骤:
-
找到栏目ID:同上,假设“产品中心”的栏目ID是
5。 -
在模板文件中使用
arclist:- 打开首页模板文件
index.htm或其他模板文件。 - 在需要显示文章列表的位置插入以下代码:
<ul> {dede:arclist typeid='5' row='5' titlelen='30' orderby='pubdate'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> {dede:arclist} </ul> - 打开首页模板文件
代码详解:
typeid='5':核心属性,指定调用哪个栏目下的文章,如果省略,则默认调用当前栏目(如首页调用其指定的栏目,内容页调用其所属栏目)下的文章。row='5':调用文章的数量,这里设置为5条,len='30'`:标题字符长度,超过30个字符会自动截断。orderby='pubdate':排序方式。pubdate按发布时间排序,click按点击量排序,id按文章ID排序。[field:arcurl/]:文章的完整链接地址。[field:title/]。[field:pubdate function="MyDate('Y-m-d', @me)"/]:文章发布时间,这里使用了function对时间进行格式化,'Y-m-d'是格式化后的样式(如 2025-10-27),@me代表原始的时间戳。
常用属性速查表
| 属性名 | 说明 | 示例 | |
|---|---|---|---|
{dede:channel} |
typeid |
指定要调用的栏目ID | typeid='3' |
row |
调用的栏目数量 | row='10' |
|
type |
栏目类型,top顶级栏目,son子栏目,self当前栏目 |
type='self' |
|
{dede:arclist} |
typeid |
指定要调用的文章所属的栏目ID | typeid='5' |
row |
调用的文章数量 | row='8' |
|
infolen |
摘要长度(汉字数) | infolen='120' |
|
orderby |
排序方式 | orderby='click' (按点击量) |
|
orderway |
排序方向,desc降序,asc升序 |
orderway='desc' |
|
| 通用 | [field:xxx/] |
调用字段内容,如标题、链接等 | [field:title/] |
总结与最佳实践
-
明确需求:首先确定你是要调用栏目本身的信息(名称、链接),还是调用栏目下文章的信息(列表)。
- 调用栏目信息 -> 用
{dede:channel}。 - 调用文章列表 -> 用
{dede:arclist}。
- 调用栏目信息 -> 用
-
获取ID:
typeid是调用单个栏目的关键,务必先在后台找到正确的栏目ID。 -
灵活运用:
- 如果只想在模板的某个位置显示一个栏目名和链接,直接用
{dede:channel typeid='X' type='self'}[field:typename/]{/dede:channel}即可。 - 如果要生成一个带样式的文章列表,用
{dede:arclist typeid='X' ...}并配合循环标签(如<ul>和<li>)。
- 如果只想在模板的某个位置显示一个栏目名和链接,直接用
-
调试技巧:如果标签不生效,最常见的原因是
typeid错误,请务必反复核对后台的栏目ID,检查模板文件是否正确保存,并确保后台的“生成HTML”操作已执行。
通过以上方法,你就可以灵活地在织梦CMS的任何模板中调用单个栏目的信息了。
