核心标签
无论使用哪种方法,最核心的标签都是 field,它用于获取当前文章(或栏目)的某个字段值。

- 基本语法:
{field:字段名} - 常用字段名:
arcurl: 文章的完整URL路径 (最常用)title: 文章标题id: 文章IDtypeid: 所属栏目IDtypedir: 所属栏目的目录 (不带 )
调用当前文章的URL(最常用)
这是最直接的方法,通常用在文章详情页(如 article_article.htm 模板)中,用于获取当前正在浏览的文章的链接。
代码示例
<a href="{field:arcurl/}" title="{field:title/}">{field:title/}</a>
代码解释
{field:arcurl/}: DedeCMS 会自动解析为当前文章的完整链接地址,https://www.yoursite.com/a/2025/1234.html。{field:title/}: 获取文章标题,用作链接的显示文字和title属性,有利于SEO和用户体验。
在列表页调用文章URL
在文章列表页(如 article_list.htm),你需要循环遍历文章列表,并在循环体内调用每篇文章的URL。
代码示例
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
代码解释
{dede:list}: 这是DedeCMS的列表循环标签,pagesize='10'表示每页显示10篇文章。[field:arcurl/]: 在{dede:list}循环内部,[field:arcurl/]会指向循环体中当前这篇文章的URL,注意,在列表标签中,通常使用方括号[],虽然花括号 也能工作,但方括号是更标准的写法。[field:pubdate ...]: 这是一个调用文章发布日期的例子,function="MyDate(...)"是一个格式化函数,将日期戳格式化为年-月-日的形式。
调用栏目路径
有时候你可能需要获取文章所属栏目的路径,而不是文章本身的路径。
在文章详情页调用当前文章所属栏目路径
使用 在列表页或栏目页模板中,你可能想获取当前栏目本身的路径,这时需要使用 如果你的网站启用了“文件不包含目录名”的URL模式(URL是 后台设置路径: 你可以在这里设置如 重要提示: 希望这份详细的解释能帮助你完全掌握在DedeCMS中调用文章路径的方法!{field:typedir/}
代码示例
本文所属栏目:<a href="{field:typedir/}/">{field:typename/}</a>
代码解释
{field:typedir/}: 获取当前文章所属栏目的目录,/a/news。注意:它返回的是目录,不是完整URL,所以后面需要手动加上 来指向栏目首页。{field:typename/}: 获取栏目的名称。在列表页或栏目页调用栏目路径
global 全局变量。
代码示例
当前栏目路径:<a href="{dede:field name='typedir'/}/">{dede:field name='typename'/}</a>
代码解释
{dede:field name='typedir'}: 这是获取当前页面(无论是列表页还是栏目页)的栏目路径的标准方法,它等同于 {dede:global.cfg_cmspath/}{dede:field.typeid/} 的简化写法。typedir 是目录,后面需要加 才能正确链接到栏目首页。
自定义URL格式(高级)
/1234.html 而不是 /a/2025/1234.html),或者你使用了自定义的URL规则,{field:arcurl/} 依然可以正常工作,因为DedeCMS会根据后台的设置自动生成正确的URL。后台 -> 系统 -> 系统基本参数 -> 核心设置 -> 文章命名规则{typedir}/{Y}/{M}/{D}/{aid}.html 这样的规则,DedeCMS会自动解析并生成对应的URL,你无需修改模板代码,直接使用 {field:arcurl/} 即可。
总结与最佳实践
需求场景
推荐代码
说明
获取当前文章的链接
{field:arcurl/}最常用,适用于文章详情页 (
article_article.htm)。
在列表中获取每篇文章链接
[field:arcurl/]在
{dede:list} 循环标签内使用。
获取当前文章所属栏目链接
{field:typedir/}/适用于文章详情页,
typedir是目录,需手动加。
获取当前页面(列表/栏目页)的栏目链接
{dede:field name='typedir'/}/标准写法,适用于列表页和栏目页模板。

生成 -> HTML更新 或 一键更新网站,清除模板缓存。{field:arcurl/} 和 [field:arcurl/] 在很多情况下能通用,但为了规范性和避免潜在问题,建议在列表标签 {dede:list} 内使用方括号 [],在其他地方使用花括号 。
