第一步:在后台添加自定义字段
这是所有操作的基础,你需要先在数据库里为你需要的内容模型增加一个字段。

-
登录 DedeCMS 后台。
-
进入 【核心】 -> 模型管理】,模型管理页面,找到你当前文章所使用的模型(通常是“文章模型”),点击其右侧的 【字段管理】。
-
进入字段管理后,点击 【添加新字段】。
-
填写字段信息(这是最关键的一步):
(图片来源网络,侵删)- 字段名: 必须使用英文,
myauthor,myvideo,myfiles等,这是你在模板中调用时使用的名称。 - 字段类型: 根据你的需求选择。
单行文本: 用于简短的文字,如作者、来源、标签等。多行文本: 用于大段的文字描述,如详细说明、备注等。编辑器: 和文章内容一样,支持富文本格式,可以插入图片、视频等,适合用于产品详情、补充说明等。附件: 用于上传单个文件,如 PDF、Word、安装包等。图片: 用于上传一张或多张图片。枚举: 提供几个固定的选项让用户选择,如“推荐位”、“颜色”等。数字: 用于输入纯数字。
- 字段提示: 在后台发布文章时,输入框下方显示的提示文字,方便站长理解这个字段是做什么用的。
- 默认值: 可选,如果希望所有文章都默认有一个值,可以在这里填写。
- 是否为空: 选择“否”表示这个字段为必填项。
- 字段允许HTML: 如果字段类型是“多行文本”或“编辑器”,并且你希望允许用户输入 HTML 代码,就选择“是”。
- 显示在发布页: 选择“是”,这样在后台发布文章时就能看到这个输入框。
- 在列表页显示: 选择“是”,这个字段就会在文章列表页调用。
- 字段名: 必须使用英文,
-
点击 【保存】,自定义字段就添加成功了。
第二步:在内容页模板中调用自定义字段
字段添加完成后,你需要修改文章内容页的模板文件 (article_article.htm) 来显示这些字段。
通用调用方法(适用于所有字段类型)
这是最基本、最常用的方法,使用 示例: 假设你添加了一个名为 在你的 说明: 对于图片或附件类型,DedeCMS 提供了更强大的标签来处理数据。 调用 假设你添加了一个名为 调用单张图片(如果设置的是单图): 这会直接输出图片的完整路径。 调用多张图片(如果设置的是多图):
多图字段的内容是序列化的字符串,需要使用 调用 假设你添加了一个名为 如果自定义字段的内容需要格式化,可以使用 示例1:截取文本
假设 示例2:转换日期格式
如果你的字段是时间戳格式,想显示为 自定义字段可能为空,直接显示会很难看,我们可以使用 示例:仅在 说明: 通过以上步骤,你应该就能在 DedeCMS 内容页中成功调用并显示任何你需要的自定义字段了。{dede:field.字段名/}
myauthor 的单行文本字段(作者),和一个名为 myintro 的多行文本字段(简介)。article_article.htm 模板文件中,你可以这样调用:<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">{dede:field.title/}</title>
</head>
<body>
<h1>{dede:field.title/}</h1>
<div class="info">
<span>作者:{dede:field.writer/}</span> <!-- 原有作者字段 -->
<span>发布时间:{dede:field.pubdate function='MyDate("Y-m-d H:i",@me)'/></span>
</div>
<div class="content">
{dede:field.body/} <!-- 文章正文 -->
</div>
<!-- ============ 下面是调用自定义字段的部分 ============ -->
<div class="custom-info">
<h3>本文作者:{dede:field.myauthor/}</h3>
<h3>内容简介:</h3>
<p>{dede:field.myintro/}</p>
</div>
</body>
</html>
{dede:field.myauthor/} 会直接输出 myauthor 字段的内容。{dede:field.myintro/} 会直接输出 myintro 字段的内容。
调用特殊类型字段(如图片、附件)
图片 字段myimage 的图片字段。
<img src="{dede:field.myimage/}" alt="{dede:field.title/}">
array 和 img 标签来循环输出。<div class="my-gallery">
{dede:field.myimage array='img'}
<a href="[field:src/]" title="[field:alt text=/]">
<img src="[field:src/]" alt="[field:alt text=/]" width="150" />
</a>
{/dede:field.myimage}
</div>
array='img' 告诉 DedeCMS 将这个字段按图片数组解析。[field:src/] 循环内部用来获取单张图片的路径。[field:alt text=/] 获取图片的 alt 文本。附件 字段myfile 的附件字段。
array 标签来解析。<div class="download-area">
<h3>相关下载:</h3>
{dede:field.myfile array='yy'}
<p>
<a href="[field:url/]" title="[field:name/]">[field:name/] ([field:size/])</a>
</p>
{/dede:field.myfile}
</div>
array='yy' 是附件的固定解析方式。[field:url/] 附件下载地址。[field:name/] 附件名称。[field:size/] 附件大小。
第三步:后台发布文章并填写内容
第四步:生成页面并预览
高级技巧与常见问题
技巧1:使用[field:函数/]对字段内容进行二次处理
function 属性。
myintro 字段内容很长,你只想显示前 100 个字符。<p>{dede:field.myintro function='cn_substr(@me, 100)'/}...</p>
cn_substr() 是 DedeCMS 的内置截取字符串函数。年-月-日。<p>活动日期:{dede:field.mydate function='MyDate("Y-m-d", @me)'/}</p>
技巧2:判断字段是否存在或是否为空
if 标签进行判断。myvideo 字段有内容时才显示视频{dede:field.myvideo runphp='yes'}
if(@me != '') {
@me = '<div class="video-box"><video src="' . @me . '" controls></video></div>';
} else {
@me = '';
}
{/dede:field.myvideo}
runphp='yes' 开启 PHP 执行。if(@me != '') 判断字段内容是否为空。@me = '...' 将处理后的 HTML 赋值给 @me 变量。else { @me = ''; } 如果为空,则清空输出。常见问题:为什么调用不出来?
{dede:field.字段名/} 中的 字段名 和后台添加的 英文字段名 完全一致,注意大小写。article_article.htm。Ctrl + F5 强制刷新页面。array 标签,否则会输出原始的、无法识别的字符串。
