核心来源
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)"/}
作者:{dede:field.writer/}
来源:{dede:field.source/}
点击:{dede:field.click/}
</div>
<hr>
<div class="article-content">
{dede:field.body/}
</div>
在上面的例子中,<div class="article-content">...</div> 区域就会显示文章的全部正文内容。

数据来源:数据库
{dede:field.body/} 显示的内容,其数据来源于织梦数据库中的 dede_archives 表。
- 表名:
dede_archives - 字段名:
body
当你通过后台发布一篇新文章时,你在编辑器里输入的所有文字、图片、代码等内容,最终都会被保存在这个 body 字段里,这个字段的数据类型通常是 TEXT 或 MEDIUMTEXT,以支持存储长篇文章。
与其他 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 属性,对正文内容进行处理。

常见用途:
a) 截取摘要
这是最常用的功能,在首页或列表页,你只想显示文章的一部分作为摘要,而不是全文。
示例 (在列表页模板 list_article.htm 或 index.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 的来源和用法!
