- 后台操作:在栏目管理中添加自定义字段。
- 前台调用:在栏目列表页或内容页的模板文件中使用标签调用这些字段。
第一步:后台添加自定义字段
假设我们要为“产品展示”这个栏目添加一个“产品规格”的自定义字段。

(图片来源网络,侵删)
进入栏目管理
登录织梦后台,点击菜单栏的 【栏目】 -> 【栏目管理】。
选择并修改栏目
在栏目列表中,找到你想要添加自定义字段的栏目(产品展示”),点击该栏目名称或后面的 【修改】 按钮。
添加自定义字段
进入栏目修改页面后,向下滚动到页面底部,你会看到 【自定义字段】 的设置区域。
- 如果该栏目从未添加过字段:这里可能是一个空的表单。
- 如果已有字段:你会看到一个字段的列表,并可以继续添加新的。
点击 【添加新字段】 按钮,进入字段添加界面。

(图片来源网络,侵删)
填写字段信息
在字段添加表单中,你需要填写以下关键信息:
- 字段名称:这是字段的内部标识符,只能使用英文字母、数字和下划线,且不能与系统已有字段重名,我们填写
spec。 - 字段提示会显示在后台添加/编辑文档时的输入框旁边,作为给管理员的提示,填写“产品规格”。
- 字段类型:选择适合你数据类型的字段。
文本(单行文本):用于简短的文字,如规格、型号等。文本(多行文本/文本域):用于较长的描述,如产品详情、注意事项等。数字:用于纯数字。布尔(是/否):用于开关选项。日期:用于选择日期。下拉:用于从几个固定选项中选择。枚举(单选):同下拉,但界面可能略有不同。附件:用于上传文件,如产品说明书、CAD图纸等。- 推荐:对于产品规格,通常选择
文本(多行文本/文本域)或下拉。
- 默认值:可选,如果希望所有新添加的文档在此字段都有一个默认值,可以在这里填写。
- 字段值:如果字段类型是“下拉”或“枚举”,在这里填写选项,每个选项用英文逗号 分隔。
A型,B型,C型。 - 是否为必填项:勾选后,在后台发布文档时,该字段必须填写内容才能保存。
- 前台显示:非常重要! 勾选此项,表示该字段将在前台模板中可以被调用,如果不勾选,即使你在模板里写了标签也调用不出来。
填写完所有信息后,点击 【保存】。
你回到后台的 管理】 -> 【添加文档】 或 【编辑文档】 时,就会发现表单中已经多出了你刚刚定义的“产品规格”输入框。
第二步:前台模板调用字段
添加完字段后,就可以在网站前台模板中调用它了,调用方式根据页面类型(列表页或内容页)略有不同。

(图片来源网络,侵删)
在栏目列表页 (list_栏目ID.htm) 调用
假设你想在“产品展示”栏目列表页,每个产品条目后面都显示它的“产品规格”。
在织梦列表页模板中,通常使用 {dede:list} 或 {dedarclist} 标签来循环输出文章列表,自定义字段可以直接在循环体内通过 [field:字段名 /] 的形式调用。
示例代码:
{dede:list pagesize='10'}
<div class="product-item">
<!-- 调用缩略图 -->
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]">
</a>
<!-- 调用文章标题 -->
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<!-- 调用我们自定义的“产品规格”字段 -->
<p class="spec">规格:[field:spec/]</p>
<!-- 调用文章摘要 -->
<p class="summary">[field:description function='cn_substr(@me,100)'/]...</p>
</div>
{/dede:list}
说明:
[field:spec/]:这里的spec就是在后台添加字段时填写的 “字段名称”(英文名)。- 你可以为它添加样式,
<p class="spec">...</p>,然后在CSS文件中定义.spec的样式。 - 如果字段是文本域,内容可能较长,你可以使用
function对其进行截断,[field:spec function='cn_substr(@me, 50)'/],表示只显示前50个字符。
页 (article_栏目ID.htm) 调用
当用户点击列表中的某个产品进入详情页后,调用方式会更简单。
页模板中,使用 {dede:field.字段名 /} 来调用单个文章的自定义字段值。
示例代码:
<h1>{dede:field.title/}</h1>
<!-- 调用文章正文内容 -->
<div class="content">
{dede:field.body/}
</div>
<!-- 在正文下方或旁边调用自定义字段 -->
<div class="product-details">
<h2>产品详情</h2>
<!-- 调用产品规格 -->
<p><strong>产品规格:</strong>{dede:field.spec/}</p>
<!-- 如果还有其他字段,产品型号”,调用方式一样 -->
<p><strong>产品型号:</strong>{dede:field.model/}</p>
<!-- 如果是附件类型,可以这样调用 -->
<p><strong>下载附件:</strong><a href="{dede:field.fileurl/}">{dede:field.filename/}</a></p>
</div>
说明:
{dede:field.spec/}:这里的spec同样是后台设置的 “字段名称”。- 这种调用方式不需要循环,因为内容页一次只显示一篇文章的内容。
常见问题与注意事项
-
为什么前台调用不出来?
- 最常见的原因:在后台添加字段时,没有勾选【前台显示】选项,请回去检查并勾选。
- 字段名称错误:检查模板中
[field:xxx/]或{dede:field.xxx/}的xxx是否与后台设置的 “字段名称”(英文名)完全一致,注意大小写。 - 模板缓存:织梦有模板缓存机制,修改模板后,请务必登录后台点击 【生成】 -> 【更新HTML】 -> 【更新栏目页】 和 【更新文档页】,或者直接点击顶部的 【一键更新网站】,清除缓存后才能看到效果。
- 使用了错误的标签:确认在列表页使用的是
[field:xxx/]页使用的是{dede:field.xxx/}。
-
需要特殊处理怎么办?
- 和织梦系统字段一样,自定义字段也可以使用
function属性进行PHP函数处理,换行符替换:{dede:field.spec function='str_replace("\n", "<br>", @me)'/} - 截取字符串:
[field:spec function='cn_substr(@me, 100)'/]
- 和织梦系统字段一样,自定义字段也可以使用
-
列表页和内容页的标签区别一定要记牢!
- 列表页 (循环内):
[字段名]或[field:字段名 /] - 内容页 (单篇):
{dede:field.字段名 /}
- 列表页 (循环内):
通过以上步骤,你就可以灵活地使用织梦的自定义字段功能,为你的网站栏目添加丰富的个性化信息了。
