核心标签:{dede:channel} 和 {dede:arclist}
在织梦中,我们主要使用两个底层模板标签来获取信息:

(图片来源网络,侵删)
{dede:channel}: 用于获取栏目(频道)本身的信息,比如栏目名称、栏目链接、栏目简介等。{dede:arclist}: 用于获取文章列表,可以指定某个栏目下的文章,并调用文章标题、缩略图、简介、发布时间等信息。
在首页调用指定栏目的文章列表
这是最常见的需求,比如想在首页的某个位置显示“公司新闻”栏目的最新5篇文章。
方法1:使用 {dede:arclist} 标签(推荐)
这是最灵活、最常用的方法,你可以直接指定栏目的ID或目录名称。
代码示例:
<h2>公司新闻</h2>
<ul>
{dede:arclist typeid='1' titlelen='30' row='5' orderby='pubdate'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span class="date">([field:pubdate function="MyDate('Y-m-d', @me)"/])</span>
</li>
{/dede:arclist}
</ul>
代码解析:

(图片来源网络,侵删)
typeid='1': 这是最关键的参数,表示调用栏目ID为1的文章列表,你需要在后台“频道管理”中找到对应栏目的ID。- 你也可以用目录名代替ID,
typeid='news'(假设“公司新闻”栏目的目录是news)。 - 如果想调用多个栏目的文章,用逗号隔开,
typeid='1,2,3',len='30'`: 截取文章标题的长度,最多显示30个字符。
- 你也可以用目录名代替ID,
row='5': 调用文章的数量,这里显示5条。orderby='pubdate': 按发布时间降序排列(最新的在最前面),其他常用值:click(按点击量)、id(按文章ID)。[field:arcurl/]: 文章的链接地址。[field:title/]: 文章的标题。[field:pubdate function="MyDate('Y-m-d', @me)"/]: 文章的发布时间,这里使用了function对时间进行了格式化,显示为“年-月-日”的格式。MyDate是织梦内置的日期处理函数。
方法2:使用 {dede:channel} + {dede:arclist} 嵌套调用
如果你想在循环中调用不同栏目的列表,或者想让栏目名称和列表一起显示,可以使用嵌套标签。
代码示例:
{dede:channel type='top' typeid='1'}
<h2>[field:typename/]</h2>
<ul>
{dede:arclist row='5' titlelen='30'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
{/dede:channel}
代码解析:
{dede:channel type='top' typeid='1'}: 获取栏目ID为1的顶级栏目信息。[field:typename/]: 显示这个栏目的名称。
- 在
{dede:channel}标签内部,{dede:arclist}默认就会调用该栏目下的文章列表,无需再指定typeid。
在列表页调用当前栏目的内容
在列表页(list_article.htm),我们通常需要显示当前栏目的名称和简介,并列出该栏目下的所有文章。

(图片来源网络,侵删)
调用当前栏目名称和简介
在列表页模板中,可以直接使用 {dede:field} 标签来获取当前栏目的信息。
代码示例(通常放在列表页的顶部):
<div class="channel-info">
<h1>{dede:field name='typename'/}</h1>
<p>{dede:field name='description'/}</p>
</div>
{dede:field name='typename'/}: 当前栏目的名称。{dede:field name='description'/}: 当前栏目的简介。
调用当前栏目的文章列表
在列表页模板中,{dede:arclist} 默认就是调用当前栏目的文章列表,所以你不需要指定 typeid。
代码示例:
<ul>
{dede:arclist titlelen='50' row='10' orderby='pubdate'}
<li>
<span class="date">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
页调用当前文章所属栏目的信息
页(article_article.htm),我们可能需要显示文章所在的栏目名称,并列出该栏目的其他文章。
调用当前文章所属栏目的名称
代码示例:
文章分类:<a href="{dede:field name='typelink'/}">{dede:field name='typename'/}</a>
{dede:field name='typelink'/}: 当前栏目的链接地址。{dede:field name='typename'/}: 当前栏目的名称。
调用当前栏目下的其他文章(排除当前文章)
这是一个很常见的需求,相关文章”或“更多文章”。
代码示例:
<div class="related-posts">
<h3>更多文章</h3>
<ul>
{dede:arclist titlelen='30' row='8' typeid='~id' orderby='pubdate'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
</div>
代码解析:
typeid='~id': 这是关键!~id表示获取当前文章所属栏目的ID,并且自动排除当前文章本身,避免在“更多文章”中显示正在阅读的这篇文章。
调用指定栏目的简介(栏目内容)
在后台,每个栏目都可以填写“栏目内容”,这部分内容可以用 {dede:channel} 标签来调用。
代码示例:
假设你想在首页调用栏目ID为 2 的“关于我们”栏目的简介内容。
{dede:channel typeid='2'}
<div class="about-content">
[field:content/]
</div>
{/dede:channel}
[field:content/]: 直接输出栏目在后台“栏目内容”编辑器中填写的内容(HTML格式)。
总结与技巧
| 需求场景 | 推荐标签 | 关键参数/属性 |
|---|---|---|
| 首页调用指定栏目文章列表 | {dede:arclist} |
typeid='栏目ID' |
| 列表页调用当前栏目信息 | {dede:field} |
name='typename' / name='description' |
| 列表页调用当前栏目文章 | {dede:arclist} |
无需 typeid |
| 调用指定栏目的简介/内容 | {dede:channel} |
typeid='栏目ID',内部用 [field:content/] |
重要提示:
- 栏目ID的获取:在织梦后台,进入【核心】-> 【频道管理】,将鼠标悬停在你需要的栏目名称上,浏览器状态栏会显示该栏目的ID,或者查看链接中的
cid=后面的数字就是ID。 - 模板缓存:修改完模板文件后,如果前台页面没有立即生效,请到后台【系统】-> 【系统基本参数】-> 【性能选项】中,点击“更新系统缓存”。
- 安全考虑:
{dede:arclist}和{dede:channel}功能强大,但也容易被恶意利用,请确保你的网站是最新版本,并做好权限设置。
希望这份详细的指南能帮助你解决在织梦系统中调用栏目内容的问题!
