dede field.body 来源如何获取?

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

核心来源

dede:field.body管理系统 的一个核心模板标签。

dede field.body 来源
(图片来源网络,侵删)
  • 系统: 织梦内容管理系统
  • 作用: 在文章内容页模板(通常是 article_article.htm)中,用于调用并显示当前文章的正文内容

可以把它理解为在 PHP 中,$body = $this->Fields['body']; 然后用 echo $body; 来输出文章内容。


详细解析

标签的基本用法

这个标签非常简单,直接放在需要显示正文内容的位置即可。

示例代码 (在 article_article.htm 模板文件中):

<h1>{dede:field.title/}</h1>
<div class="info">
  发布时间:{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/} &nbsp;&nbsp;
  作者:{dede:field.writer/} &nbsp;&nbsp;
  来源:{dede:field.source/} &nbsp;&nbsp;
  点击:{dede:field.click/}
</div>
<hr>
<div class="article-content">
  {dede:field.body/}
</div>

在上面的例子中,<div class="article-content">...</div> 区域就会显示文章的全部正文内容。

dede field.body 来源
(图片来源网络,侵删)

数据来源:数据库

{dede:field.body/} 显示的内容,其数据来源于织梦数据库中的 dede_archives 表。

  • 表名: dede_archives
  • 字段名: body

当你通过后台发布一篇新文章时,你在编辑器里输入的所有文字、图片、代码等内容,最终都会被保存在这个 body 字段里,这个字段的数据类型通常是 TEXTMEDIUMTEXT,以支持存储长篇文章。

与其他 field 标签的关系

{dede:field.body/}dede:field 标签家族的一员,这个家族用于调用文章的单个字段。

  • {dede:field.title/}: 调用文章标题
  • {dede:field.pubdate/}: 调用文章发布时间
  • {dede:field.source/}: 调用文章来源
  • {dede:field.click/}: 调用文章点击量
  • {dede:field.body/}: 调用文章正文

高级用法:配合函数处理

{dede:field.body/} 最大的灵活性在于可以配合 function 属性,对正文内容进行处理。

dede field.body 来源
(图片来源网络,侵删)

常见用途:

a) 截取摘要

这是最常用的功能,在首页或列表页,你只想显示文章的一部分作为摘要,而不是全文。

示例 (在列表页模板 list_article.htmindex.htm 中):

{dede:field.body function='cn_substr(@me, 200)'/}
  • function='...': 表示要对标签的值(即 @me)应用一个函数。
  • @me: 是一个特殊变量,代表 {dede:field.body/} 标签本身当前的值,也就是完整的文章正文。
  • cn_substr(): 这是织梦自带的一个截取字符串的函数。cn_substr(@me, 200) 的意思就是“截取 @me 的前200个字符”。

b) 过滤特定标签 里包含一些你不希望在列表页显示的标签(<iframe><script> 等)。

示例:

{dede:field.body function='htmlspecialchars(cn_substr(strip_tags(@me), 200))'/}
  • strip_tags(@me): 先移除 @me 中的所有 HTML 标签,只留下纯文本。
  • cn_substr(...): 然后截取前200个字符。
  • htmlspecialchars(...): 最后将特殊字符(如 <, >, &)转换为 HTML 实体,防止 XSS 攻击并确保正确显示。

c) 修改图片路径

如果你的网站从本地迁移到了服务器,或者图片路径发生了变化,你可能需要批量修改正文里的图片路径。

示例:

{dede:field.body function='str_replace("old-domain.com", "new-domain.com", @me)'/}

这个例子会将正文里所有 old-domain.com 的路径替换为 new-domain.com

重要注意事项:内容模型

{dede:field.body/} 的行为会受到文章“内容模型”的影响。

  • 普通文章模型: 这是默认模型,body 字段直接存储文章的 HTML 内容。
  • 自由列表/图集模型: 对于这些特殊模型,body 字段可能存储的是其他数据,或者其内容展示方式不同,图集模型中,正文里可能包含图片组的调用代码,而真正的图片数据存储在 dede_addonimages 等附加表中。

在使用 {dede:field.body/} 时,要确保你的文章使用的是正确的、支持 body 字段的内容模型。

特性 说明
来源 织梦CMS 的核心模板标签。
作用 在文章页模板中调用并显示文章的正文内容。
数据源 数据库 dede_archives 表的 body 字段。
基本用法 {dede:field.body/}
高级用法 配合 function 属性进行截取、过滤、替换等操作。{dede:field.body function='cn_substr(@me, 200)'/}
关键变量 @me 代表标签本身的值。
注意事项 效果受文章“内容模型”的影响。

希望这个详细的解释能帮助你完全理解 dede:field.body 的来源和用法!

-- 展开阅读全文 --
头像
C语言程序一行写不下时如何换行?
« 上一篇 2025-12-11
C程序设计语言PDF在百度云能找到吗?
下一篇 » 2025-12-11

相关文章

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

目录[+]