dede如何调用文章路径?

99ANYc3cd6
预计阅读时长 10 分钟
位置: 首页 DEDE建站 正文

核心标签

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

dede调用文章路径
(图片来源网络,侵删)
  • 基本语法: {field:字段名}
  • 常用字段名:
    • arcurl: 文章的完整URL路径 (最常用)
    • title: 文章标题
    • id: 文章ID
    • typeid: 所属栏目ID
    • typedir: 所属栏目的目录 (不带 )

调用当前文章的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(...)" 是一个格式化函数,将日期戳格式化为 年-月-日 的形式。

调用栏目路径

有时候你可能需要获取文章所属栏目的路径,而不是文章本身的路径。

在文章详情页调用当前文章所属栏目路径

使用 {field:typedir/}

代码示例

本文所属栏目:<a href="{field:typedir/}/">{field:typename/}</a>

代码解释

  • {field:typedir/}: 获取当前文章所属栏目的目录,/a/news注意:它返回的是目录,不是完整URL,所以后面需要手动加上 来指向栏目首页。
  • {field:typename/}: 获取栏目的名称。

在列表页或栏目页调用栏目路径

在列表页或栏目页模板中,你可能想获取当前栏目本身的路径,这时需要使用 global 全局变量。

dede调用文章路径
(图片来源网络,侵删)

代码示例

当前栏目路径:<a href="{dede:field name='typedir'/}/">{dede:field name='typename'/}</a>

代码解释

  • {dede:field name='typedir'}: 这是获取当前页面(无论是列表页还是栏目页)的栏目路径的标准方法,它等同于 {dede:global.cfg_cmspath/}{dede:field.typeid/} 的简化写法。
  • 同样,typedir 是目录,后面需要加 才能正确链接到栏目首页。

自定义URL格式(高级)

如果你的网站启用了“文件不包含目录名”的URL模式(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'/}/ 标准写法,适用于列表页和栏目页模板。

重要提示:

dede调用文章路径
(图片来源网络,侵删)
  • 模板缓存: 修改模板文件后,如果看不到效果,请务必在后台点击 生成 -> HTML更新一键更新网站,清除模板缓存。
  • 标签大小写: 虽然 {field:arcurl/}[field:arcurl/] 在很多情况下能通用,但为了规范性和避免潜在问题,建议在列表标签 {dede:list} 内使用方括号 [],在其他地方使用花括号 。

希望这份详细的解释能帮助你完全掌握在DedeCMS中调用文章路径的方法!

-- 展开阅读全文 --
头像
memset函数如何正确初始化内存?
« 上一篇 04-19
dede广告图片如何替换?
下一篇 » 04-19

相关文章

取消
微信二维码
支付宝二维码