核心导航链接标签 (<a>)
这是最常用的标签,用于生成指向网站各个频道、栏目或特定页面的超链接。

(图片来源网络,侵删)
栏目链接标签 (typelink / type)
用于获取指定栏目的链接,通常用于主导航、二级导航等。
- 标签名:
typelink(更常用) 或type - 作用: 调用一个栏目的超链接,会自动带上
<a>
基本语法:
{dede:typelink}
<a href='[field:typelink/]'>[field:typename/]</a>
{/dede:typelink}
常用参数:
typeid: (核心) 指定要调用的栏目ID,如果留空,通常用于获取当前栏目或顶级栏目。row: 获取的栏目数量。col: 每行显示的栏目数量(主要用于生成多行多列的导航)。type: 指定栏目类型,如son(子栏目),self(同级栏目)。currentstyle: (非常实用) 为当前栏目所在的链接指定高亮样式。
示例: 生成主导航菜单

(图片来源网络,侵删)
假设我们有栏目ID为 1, 2, 3, 4 的首页、新闻、产品、关于我们。
<ul id="mainnav">
{dede:channel type='top' row='4'}
<li>
<a href="[field:typelink/]" [field:typelink function='(@me=="http://你的域名/")?"class=current":""'/]>[field:typename/]</a>
</li>
{/dede:channel}
</ul>
更简洁的 currentstyle 写法:
<ul id="mainnav">
{dede:channel type='top' row='4' currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
currentstyle中的~typename~会被替换为[field:typename/],~typelink~会被替换为[field:typelink/],当栏目为当前栏目时,整个<li class='active'>...</li>会被输出。
内容链接标签
用于指向文章、图集等具体内容的链接。
文章链接标签 (arcurl)
用于获取文章或文档的详细页链接。

(图片来源网络,侵删)
- 标签名:
arcurl - 作用: 在文章列表、文章内容页等地方,调用该篇文章的URL。
基本语法:
<a href="[field:arcurl/]">[field:title/]</a>
这个标签通常用在 {dede:list} 或 {dede:arclist} 循环标签内部。
列表循环标签
用于循环输出一系列内容,如文章列表、栏目列表等,内部会包含上述的链接标签。
文章列表标签 (arclist)
首页最核心的标签,用于调用指定条件的文章列表。
- 标签名:
arclist - 作用: 循环输出符合条件的文章。
基本语法:
{dede:arclist row='10' titlelen='30' typeid='1'}
<li>
<span>[field:pubdate function='MyDate('m-d', @me)'/]</span>
<a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me, 30)'/]</a>
</li>
{/dede:arclist}
常用参数:
row: 调用文章数量,len`: 标题长度,截取多少个字符。typeid: (核心) 调用指定栏目ID下的文章,可以写多个ID,用逗号隔开,如typeid='1,2,3'。typeid='0'表示调用所有栏目。orderway: 排序方式,desc(降序,默认) 或asc(升序)。orderby: 排序字段,如sortrank(权重),id(ID),pubdate(发布时间)。limit: 限制条数,如limit='0,5'(从第0条开始,取5条)。channelid: 指定内容模型ID,默认为文章模型。
系统与特殊链接标签
用于生成一些系统固定的链接。
网站首页链接 (global)
用于获取网站首页的URL。
- 标签名:
global - 作用: 调用网站的全局变量,如首页URL、网站名称等。
基本语法:
<a href="{dede:global.cfg_basehost/}">网站首页</a>
cfg_basehost: 网站的域名配置项。
友情链接标签 (flink)
用于调用网站后台设置的友情链接。
- 标签名:
flink - 作用: 输出友情链接列表。
基本语法:
{dede:flink row='24' type='text'}
<a href="[field:url/]" target="_blank">[field:webname/]</a>
{/dede:flink}
常用参数:
row: 显示的友情链接数量。type: 链接类型,text(文字链接),image(图片链接),textall(所有类型)。typeid: 指定友情链接分类ID。
实用技巧与常见问题
如何给当前栏目高亮?
如上面 currentstyle 所示,这是最推荐的方法,在 {dede:channel} 或 {dede:arclist} 中使用 typeid 和 currentstyle 参数。
如何获取当前栏目ID?
在模板文件中,可以直接使用 {$type_id} 变量来获取当前页面的栏目ID,这在制作“当前位置”面包屑导航时非常有用。
面包屑导航示例:
{dede:field name='position'/}
这个标签会自动生成类似 “首页 > 新闻 > 子栏目” 的链接路径,你也可以手动构建:
<a href="{dede:global.cfg_basehost/}">首页</a>
> {dede:type typeid='栏目ID'><a href="[field:typelink/]">[field:typename/]</a></dede:type}
如何获取顶级栏目ID?
在循环标签中,可以使用 field:topid/ 来获取当前条目所属的顶级栏目ID。
{dede:arclist}
<p>文章标题: [field:title/]</p>
<p>所属顶级栏目ID: [field:topid/]</p>
{/dede:arclist}
标签中的函数
function='cn_substr(@me, 长度)': 截取字符串,常用于标题。function='MyDate('格式', @me)': 格式化日期,@me代表当前字段的原始值。MyDate('Y-m-d H:i:s', @me)会输出2025-10-27 15:30:00。function='(@me=="值")?"输出A":"输出B"': 条件判断。[field:typelink function='(@me=="http://你的域名/")?"class=current":""'/],如果链接是首页,则添加class=current属性。
总结表格
| 标签名 | 主要用途 | 常用参数 | 示例 |
|---|---|---|---|
{dede:typelink} |
调用单个栏目链接 | typeid, currentstyle |
{dede:typelink}<a href='[field:typelink/]'>[field:typename/]</a>{/dede:typelink} |
{dede:channel} |
循环调用栏目列表(如导航) | typeid, row, currentstyle |
{dede:channel type='top'}...{/dede:channel} |
{dede:arclist} |
循环调用文章列表 | typeid, row, titlelen, limit |
{dede:arclist row='5'}...{/dede:arclist} |
[field:arcurl/] |
获取文章详情页链接 | (无) | <a href="[field:arcurl/]">标题</a> |
{dede:global} |
获取网站全局变量 | cfg_basehost, cfg_webname |
<a href="{dede:global.cfg_basehost/}">首页</a> |
{dede:flink} |
调用友情链接 | row, type |
{dede:flink type='text'}...{/dede:flink} |
{dede:field} |
调用当前页面字段 | name='position' (面包屑) |
{dede:field name='position'/} |
掌握以上这些标签,你就可以灵活地构建出绝大多数 DedeCMS 首页的布局和内容了,关键在于理解每个标签的作用和核心参数,然后通过组合使用来实现你想要的效果。
