下面我将从基础调用到高级技巧,全面地为你讲解如何调用频道栏目内容。

(图片来源网络,侵删)
基础调用:使用 channel
channel 标签是调用栏目的最基础、最常用的标签,主要用于获取栏目列表。
基本语法
{dede:channel}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
{dede:channel}: 开始标签,表示开始调用栏目。
[field:typelink/]: 调用当前栏目的链接地址。
[field:typename/]: 调用当前栏目的栏目名称。
{/dede:channel}: 结束标签。
常用属性
channel 标签可以通过属性来精确控制调用哪些栏目。
属性名
作用
示例
type
指定栏目ID。0 表示顶级栏目。
{dede:channel type='0'} (调用所有顶级栏目)
row
调用栏目的数量。
{dede:channel row='5'} (调用5个栏目)
typeid
指定从哪个栏目ID开始调用。
{dede:channel typeid='5'} (从ID为5的栏目开始调用)
reid
调用指定栏目ID下的子栏目。
{dede:channel reid='3'} (调用ID为3的栏目的所有子栏目)
currentstyle
为当前栏目所在的链接添加特定的样式。
currentstyle='<li class="active"><a href="[field:typelink/]">[field:typename/]</a></li>'
实战示例:制作主导航栏
假设我们要调用所有顶级栏目作为网站的主导航,并且高亮显示当前所在的栏目。
<ul id="nav">
{dede:channel type='0' row='8' currentstyle="<li class='active'><a href='[field:typelink/]'>[field:typename/]</a></li>"}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
说明:
(图片来源网络,侵删)
type='0' 确保只调用顶级栏目。
currentstyle 是一个非常实用的属性,当访问者处于某个栏目下时,对应的导航项会自动应用 active 样式。
高级调用:使用 arclist
很多时候,我们不仅需要栏目列表,还需要在栏目旁边显示该栏目下的最新文章列表,这时,arclist 标签就派上用场了。
arclist 用于调用文档列表,但通过指定 typeid 属性,可以实现对特定栏目内容的调用。
基本语法
{dede:arclist typeid='栏目ID' row='显示条数' titlelen='标题长度'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
typeid='栏目ID': 这是关键,指定要调用哪个栏目下的文章。
row='显示条数': 显示多少篇文章。
titlelen='标题长度': 标题最多显示多少个字符。
[field:arcurl/]: 文章的链接地址。
[field:title/]: 文章标题。
[field:pubdate/]: 发布日期,通常配合 function 使用来自定义日期格式。
实战示例:首页调用多个栏目的最新文章
假设首页左侧有“公司新闻”和“产品中心”两个栏目,我们需要分别调用它们下面的最新文章。
HTML 结构:
(图片来源网络,侵删)
<div class="news-box">
<h2>公司新闻</h2>
<ul>
{dede:arclist typeid='5' row='5' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
<div class="product-box">
<h2>产品中心</h2>
<ul>
{dede:arclist typeid='6' row='4' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
说明:
typeid='5' 对应“公司新闻”栏目的ID。
typeid='6' 对应“产品中心”栏目的ID。
- 你可以通过CSS来美化
.news-box 和 .product-box 的样式。
综合应用:栏目及其子栏目内容调用
这是一个非常常见的需求,比如在网站的侧边栏,显示一个父栏目,并列出它的子栏目,同时在子栏目下再列出该子栏目下的最新文章。
实现思路
- 使用
{dede:channelartlist} 标签循环遍历指定的父栏目。
- 在
{dede:channelartlist} 内部,使用 {dede:channel} 调用当前父栏目下的子栏目。
- 在
{dede:channel} 内部,再嵌套一个 {dede:arclist} 调用当前子栏目下的文章。
实战示例:侧边栏栏目导航
假设我们要调用ID为 3 的栏目(服务支持”)及其所有子栏目(技术文档”、“常见问答”)。
<!-- {dede:channelartlist typeid='3'} -->
<div class="sidebar-widget">
<h3>{dede:field name='typename'/}</h3> <!-- 父栏目名称 -->
<ul class="sub-nav">
<!-- {dede:channel} -->
<li>
<a href="[field:typelink/]">[field:typename/]</a> <!-- 子栏目名称和链接 -->
<!-- 调用当前子栏目下的最新文章 -->
<ul class="article-list">
{dede:arclist row='3' titlelen='20'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</li>
<!-- {/dede:channel} -->
</ul>
</div>
<!-- {/dede:channelartlist} -->
说明:
{dede:channelartlist typeid='3'}: 指定从ID为 3 的父栏目开始循环。
{dede:field name='typename'/}: 在 channelartlist 中,使用 field 标签来获取父栏目的信息。
- 嵌套结构清晰地展示了“父栏目 -> 子栏目 -> 子栏目文章”的三层关系。
重要技巧:获取栏目ID
在模板中手动输入栏目ID(如 typeid='5')非常不方便,而且容易出错,最好的方法是直接从织梦后台获取。
- 登录织梦后台。
- 进入【栏目管理】。
- 将鼠标移动到你想要调用的栏目名称上,浏览器左下角状态栏会显示该栏目的编辑链接,
.../catalog_add.php?dopost=edit&cid=5。
- 这里的
cid=5 中的 5 就是该栏目的ID,直接复制使用即可。
你的需求
推荐标签
关键属性
只调用栏目名称和链接
{dede:channel}
type, row, reid, currentstyle
调用指定栏目下的文章列表
{dede:arclist}
typeid (最重要), row, titlelen
调用父栏目及其子栏目和文章
{dede:channelartlist} + {dede:channel} + {dede:arclist}
typeid (指定父ID), 嵌套使用
掌握了以上三种方法,你就可以灵活地在织梦模板中调用任何频道栏目内容了,多加练习,熟悉它们的属性和嵌套关系,就能制作出功能强大的网站页面。
channel 标签是调用栏目的最基础、最常用的标签,主要用于获取栏目列表。
基本语法
{dede:channel}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
{dede:channel}: 开始标签,表示开始调用栏目。[field:typelink/]: 调用当前栏目的链接地址。[field:typename/]: 调用当前栏目的栏目名称。{/dede:channel}: 结束标签。
常用属性
channel 标签可以通过属性来精确控制调用哪些栏目。
| 属性名 | 作用 | 示例 |
|---|---|---|
type |
指定栏目ID。0 表示顶级栏目。 |
{dede:channel type='0'} (调用所有顶级栏目) |
row |
调用栏目的数量。 | {dede:channel row='5'} (调用5个栏目) |
typeid |
指定从哪个栏目ID开始调用。 | {dede:channel typeid='5'} (从ID为5的栏目开始调用) |
reid |
调用指定栏目ID下的子栏目。 | {dede:channel reid='3'} (调用ID为3的栏目的所有子栏目) |
currentstyle |
为当前栏目所在的链接添加特定的样式。 | currentstyle='<li class="active"><a href="[field:typelink/]">[field:typename/]</a></li>' |
实战示例:制作主导航栏
假设我们要调用所有顶级栏目作为网站的主导航,并且高亮显示当前所在的栏目。
<ul id="nav">
{dede:channel type='0' row='8' currentstyle="<li class='active'><a href='[field:typelink/]'>[field:typename/]</a></li>"}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
说明:

(图片来源网络,侵删)
type='0'确保只调用顶级栏目。currentstyle是一个非常实用的属性,当访问者处于某个栏目下时,对应的导航项会自动应用active样式。
高级调用:使用 arclist
很多时候,我们不仅需要栏目列表,还需要在栏目旁边显示该栏目下的最新文章列表,这时,arclist 标签就派上用场了。
arclist 用于调用文档列表,但通过指定 typeid 属性,可以实现对特定栏目内容的调用。
基本语法
{dede:arclist typeid='栏目ID' row='显示条数' titlelen='标题长度'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
typeid='栏目ID': 这是关键,指定要调用哪个栏目下的文章。
row='显示条数': 显示多少篇文章。
titlelen='标题长度': 标题最多显示多少个字符。
[field:arcurl/]: 文章的链接地址。
[field:title/]: 文章标题。
[field:pubdate/]: 发布日期,通常配合 function 使用来自定义日期格式。
实战示例:首页调用多个栏目的最新文章
假设首页左侧有“公司新闻”和“产品中心”两个栏目,我们需要分别调用它们下面的最新文章。
HTML 结构:
(图片来源网络,侵删)
<div class="news-box">
<h2>公司新闻</h2>
<ul>
{dede:arclist typeid='5' row='5' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
<div class="product-box">
<h2>产品中心</h2>
<ul>
{dede:arclist typeid='6' row='4' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
说明:
typeid='5' 对应“公司新闻”栏目的ID。
typeid='6' 对应“产品中心”栏目的ID。
- 你可以通过CSS来美化
.news-box 和 .product-box 的样式。
综合应用:栏目及其子栏目内容调用
这是一个非常常见的需求,比如在网站的侧边栏,显示一个父栏目,并列出它的子栏目,同时在子栏目下再列出该子栏目下的最新文章。
实现思路
- 使用
{dede:channelartlist} 标签循环遍历指定的父栏目。
- 在
{dede:channelartlist} 内部,使用 {dede:channel} 调用当前父栏目下的子栏目。
- 在
{dede:channel} 内部,再嵌套一个 {dede:arclist} 调用当前子栏目下的文章。
实战示例:侧边栏栏目导航
假设我们要调用ID为 3 的栏目(服务支持”)及其所有子栏目(技术文档”、“常见问答”)。
<!-- {dede:channelartlist typeid='3'} -->
<div class="sidebar-widget">
<h3>{dede:field name='typename'/}</h3> <!-- 父栏目名称 -->
<ul class="sub-nav">
<!-- {dede:channel} -->
<li>
<a href="[field:typelink/]">[field:typename/]</a> <!-- 子栏目名称和链接 -->
<!-- 调用当前子栏目下的最新文章 -->
<ul class="article-list">
{dede:arclist row='3' titlelen='20'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</li>
<!-- {/dede:channel} -->
</ul>
</div>
<!-- {/dede:channelartlist} -->
说明:
{dede:channelartlist typeid='3'}: 指定从ID为 3 的父栏目开始循环。
{dede:field name='typename'/}: 在 channelartlist 中,使用 field 标签来获取父栏目的信息。
- 嵌套结构清晰地展示了“父栏目 -> 子栏目 -> 子栏目文章”的三层关系。
重要技巧:获取栏目ID
在模板中手动输入栏目ID(如 typeid='5')非常不方便,而且容易出错,最好的方法是直接从织梦后台获取。
- 登录织梦后台。
- 进入【栏目管理】。
- 将鼠标移动到你想要调用的栏目名称上,浏览器左下角状态栏会显示该栏目的编辑链接,
.../catalog_add.php?dopost=edit&cid=5。
- 这里的
cid=5 中的 5 就是该栏目的ID,直接复制使用即可。
你的需求
推荐标签
关键属性
只调用栏目名称和链接
{dede:channel}
type, row, reid, currentstyle
调用指定栏目下的文章列表
{dede:arclist}
typeid (最重要), row, titlelen
调用父栏目及其子栏目和文章
{dede:channelartlist} + {dede:channel} + {dede:arclist}
typeid (指定父ID), 嵌套使用
掌握了以上三种方法,你就可以灵活地在织梦模板中调用任何频道栏目内容了,多加练习,熟悉它们的属性和嵌套关系,就能制作出功能强大的网站页面。
很多时候,我们不仅需要栏目列表,还需要在栏目旁边显示该栏目下的最新文章列表,这时,arclist 标签就派上用场了。
arclist 用于调用文档列表,但通过指定 typeid 属性,可以实现对特定栏目内容的调用。
基本语法
{dede:arclist typeid='栏目ID' row='显示条数' titlelen='标题长度'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
typeid='栏目ID': 这是关键,指定要调用哪个栏目下的文章。row='显示条数': 显示多少篇文章。titlelen='标题长度': 标题最多显示多少个字符。[field:arcurl/]: 文章的链接地址。[field:title/]: 文章标题。[field:pubdate/]: 发布日期,通常配合function使用来自定义日期格式。
实战示例:首页调用多个栏目的最新文章
假设首页左侧有“公司新闻”和“产品中心”两个栏目,我们需要分别调用它们下面的最新文章。
HTML 结构:

(图片来源网络,侵删)
<div class="news-box">
<h2>公司新闻</h2>
<ul>
{dede:arclist typeid='5' row='5' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
<div class="product-box">
<h2>产品中心</h2>
<ul>
{dede:arclist typeid='6' row='4' titlelen='30'}
<li><span class="date">[field:pubdate function="MyDate('m-d', @me)"/]</span><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
说明:
typeid='5'对应“公司新闻”栏目的ID。typeid='6'对应“产品中心”栏目的ID。- 你可以通过CSS来美化
.news-box和.product-box的样式。
综合应用:栏目及其子栏目内容调用
这是一个非常常见的需求,比如在网站的侧边栏,显示一个父栏目,并列出它的子栏目,同时在子栏目下再列出该子栏目下的最新文章。
实现思路
- 使用
{dede:channelartlist}标签循环遍历指定的父栏目。 - 在
{dede:channelartlist}内部,使用{dede:channel}调用当前父栏目下的子栏目。 - 在
{dede:channel}内部,再嵌套一个{dede:arclist}调用当前子栏目下的文章。
实战示例:侧边栏栏目导航
假设我们要调用ID为 3 的栏目(服务支持”)及其所有子栏目(技术文档”、“常见问答”)。
<!-- {dede:channelartlist typeid='3'} -->
<div class="sidebar-widget">
<h3>{dede:field name='typename'/}</h3> <!-- 父栏目名称 -->
<ul class="sub-nav">
<!-- {dede:channel} -->
<li>
<a href="[field:typelink/]">[field:typename/]</a> <!-- 子栏目名称和链接 -->
<!-- 调用当前子栏目下的最新文章 -->
<ul class="article-list">
{dede:arclist row='3' titlelen='20'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</li>
<!-- {/dede:channel} -->
</ul>
</div>
<!-- {/dede:channelartlist} -->
说明:
{dede:channelartlist typeid='3'}: 指定从ID为3的父栏目开始循环。{dede:field name='typename'/}: 在channelartlist中,使用field标签来获取父栏目的信息。- 嵌套结构清晰地展示了“父栏目 -> 子栏目 -> 子栏目文章”的三层关系。
重要技巧:获取栏目ID
在模板中手动输入栏目ID(如 typeid='5')非常不方便,而且容易出错,最好的方法是直接从织梦后台获取。
- 登录织梦后台。
- 进入【栏目管理】。
- 将鼠标移动到你想要调用的栏目名称上,浏览器左下角状态栏会显示该栏目的编辑链接,
.../catalog_add.php?dopost=edit&cid=5。 - 这里的
cid=5中的5就是该栏目的ID,直接复制使用即可。
| 你的需求 | 推荐标签 | 关键属性 |
|---|---|---|
| 只调用栏目名称和链接 | {dede:channel} |
type, row, reid, currentstyle |
| 调用指定栏目下的文章列表 | {dede:arclist} |
typeid (最重要), row, titlelen |
| 调用父栏目及其子栏目和文章 | {dede:channelartlist} + {dede:channel} + {dede:arclist} |
typeid (指定父ID), 嵌套使用 |
掌握了以上三种方法,你就可以灵活地在织梦模板中调用任何频道栏目内容了,多加练习,熟悉它们的属性和嵌套关系,就能制作出功能强大的网站页面。
