织梦自定义字段怎么用?教程详解来了!

99ANYc3cd6
预计阅读时长 17 分钟
位置: 首页 织梦建站 正文

织梦CMS自定义字段完全教程

自定义字段是织梦CMS(DedeCMS)最强大、最灵活的功能之一,它允许你为不同的栏目(模型)添加额外的字段,从而突破系统默认字段的限制,满足各种个性化的网站内容需求。

  • 新闻网站:可以添加“来源”、“作者”、“导读视频”、“关键字”等字段。
  • 产品网站:可以添加“产品规格”、“市场价格”、“优惠价格”、“库存数量”、“产品手册下载链接”等字段。
  • 小说网站:可以添加“小说状态”(连载/完结)、“字数”、“最新章节”、“读者评分”等字段。
  • 招聘网站:可以添加“薪资范围”、“工作地点”、“学历要求”、“公司福利”等字段。

第一部分:核心概念

在开始操作前,我们先理解几个关键概念:

  1. 模型:可以理解为内容的“骨架”或“模板”,系统默认有“文章模型”、“图片模型”等,你可以为不同类型的栏目创建不同的模型。
  2. 字段:构成模型的“零件”,文章模型”默认有标题、作者、来源、内容等字段,自定义字段就是由我们自己创建的额外零件。
  3. 栏目的“文件夹”,每个栏目都必须选择一个模型,选择了哪个模型,这个栏目下的文章就能使用该模型的所有字段。
  4. 字段类型:决定了你如何输入和存储数据,常见的类型有:
    • 文本:单行文本,如作者名。
    • 文本area:多行文本,如简介。
    • 编辑器:带格式的富文本编辑器,如详细内容。
    • 单选:提供多个选项,只能选一个,如“是否推荐”。
    • 多选:提供多个选项,可以选多个,如“适用人群”。
    • 数字:只能输入数字,如价格、库存。
    • 时间:日期时间选择器,如发布时间、活动截止时间。
    • 文件/多媒体:上传附件,如PDF手册、视频文件。
    • 图片:上传单张或多张图片,如产品图、缩略图。
    • 下拉:类似单选,但选项可以动态管理。

第二部分:实战操作步骤

我们将通过一个完整的实例来学习如何添加和使用自定义字段。

目标: 在“产品”栏目中,添加“市场价格”和“产品手册”两个字段。

创建或选择合适的模型

如果你的“产品”栏目已经使用了一个自定义的“产品模型”,可以直接跳到步骤二,如果没有,你需要创建一个。

  1. 登录织梦后台。
  2. 进入 【核心】 -> 模型管理】
  3. 点击 【增加新模型】
  4. 填写模型信息:
    • 模型名称产品模型 (这是在后台显示的名字)
    • 表前缀dede_archives_ (默认即可,系统会自动添加后缀,如dede_archives_addonproduct)
    • 名称product (这是程序识别的ID,只能用英文、数字、下划线)
    • 字段数量:根据你的需要填写,比如先填10个,不够后面再加。
    • 描述用于存放产品信息 (可选)
  5. 点击 【确定】
  6. 重要:创建模型后,系统会提示你“请更新栏目缓存”,请务必前往 【系统】 -> 【系统基本参数】 -> 【性能选项】,点击右上角的 【更新栏目缓存】,然后保存,否则新模型可能不会在栏目列表中出现。

为模型添加自定义字段

我们为刚创建的“产品模型”添加字段。

  1. 进入 【核心】 -> 【自定义字段管理】
  2. 在页面顶部的 内容模型 下拉框中,选择你刚才创建的 产品模型
  3. 点击 【增加新字段】

添加字段一:市场价格

  • 字段名称market_price (必须为英文或数字,用于程序调用)
  • 字段提示市场价格 (在前台表单中显示给用户的提示文字)
  • 字段类型数字 (因为价格是数字)
  • 默认值:留空
  • 字段大小20 (输入框的宽度)
  • 最大长度10 (最多输入10个字符)
  • 是否为空 (允许不填写)
  • 后台显示 (在后台发布页显示)
  • 前台显示 (在前台内容页显示)
  • 字段列表 (是否在后台的内容列表页显示此列)
  • 自动生成HTML (对于非文本类型,通常选否)
  • 备用数据:留空
  • 参数说明:留空

点击 【保存】

添加字段二:产品手册

  • 字段名称manual
  • 字段提示产品手册 (PDF格式)
  • 字段类型文件 (用于上传附件)
  • 默认值:留空
  • 文件保存目录uploads/manual/ (上传文件的存放目录,可以自定义)
  • 文件最大大小2048 (单位KB,即2MB)
  • 文件类型限制pdf (限制只能上传PDF文件,用逗号分隔,如 pdf,doc,docx)
  • 是否为空
  • 后台显示
  • 前台显示
  • 字段列表
  • 自动生成HTML (这个选项非常重要!选“是”后,系统会自动生成一个下载链接,你无需手动写代码)
  • 参数说明:留空

点击 【保存】

提示:添加完所有字段后,可以点击 【字段管理】 页面右上角的 【一键更新所有栏目HTML】【一键更新所有文档HTML】,以确保所有页面都正确加载了新字段。

将模型应用到栏目

  1. 进入 【栏目】 -> 【所有栏目管理】
  2. 找到你的“产品”栏目,点击后面的 【更改】
  3. 在栏目编辑页面,找到 设置】
  4. 模型】 下拉框中,选择你刚才创建的 产品模型
  5. 保存

在后台发布内容

  1. 进入
  2. 在“选择栏目”时,选择你配置好的“产品”栏目。
  3. 你会发现,除了默认的标题、内容等字段外,还出现了我们自定义的 市场价格产品手册 字段。
  4. 填写信息并上传文件,【发布】【保存】

第三部分:前台调用与显示

发布后,最关键的一步就是如何在网站上展示出来。

基本调用方法

在织梦模板文件(通常是 article_article.htmlist_article.htm)中,使用 field 标签调用。

  • 语法{field:字段名称/}
  • 示例
    • 调用市场价格:市场价格:{field:market_price/} 元
    • 调用产品手册:下载手册:{field:manual/}

高级应用:if 判断与 php 代码

场景:产品手册”上传了,就显示下载链接;如果没有,就不显示或显示提示文字。

使用织梦的 if

{dede:if field='manual' is='notnull'}
    <a href="{field:manual/}" target="_blank">点击下载产品手册</a>
{else /}
    <p>暂无产品手册</p>
{/dede:if}

使用 php 代码(更灵活)

{dede:php}
    if(@me['manual']){
        echo "<a href='".$this->Fields['manual']."' target='_blank'>点击下载产品手册</a>";
    } else {
        echo "<p>暂无产品手册</p>";
    }
{/dede:php}

注意:使用 php 标签时,字段的值存储在 $this->Fields['字段名'] 数组中。

列表页调用

在列表模板(如 list_article.htm)中,同样可以使用 field 标签,但通常需要配合 arclistlist

示例(在 list_article.htm 中):

{dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <p>市场价:[field:market_price/] 元</p>
        {dede:if field='manual' is='notnull'}
            <a href="[field:manual/]" target="_blank">[下载手册]</a>
        {/dede:if}
    </li>
{/dede:list}

第四部分:常见问题与技巧

Q1: 为什么我添加了字段,在前台或后台都看不到? A1: 检查以下几点:

  1. 是否更新了栏目缓存系统 -> 系统基本参数 -> 性能选项
  2. 栏目是否绑定了正确的模型:进入栏目编辑页查看。
  3. 字段是否设置为“后台显示”和“前台显示”:在 自定义字段管理 中检查。
  4. 是否更新了文档HTML自定义字段管理 页面点击更新按钮。
  5. 模板代码是否正确:检查 {field:xxx/} 的字段名称是否写错。

Q2: 我想在文章列表页也显示这个字段,但列表页模板里没有 field A2: 列表页需要通过循环标签(如 {dede:list}{dede:arclist})来调用,在这些标签内部,使用 [field:xxx/] 来调用当前循环项的字段值,如上面列表页调用的例子。

Q3: 自定义字段的数据存放在哪里? A3: 主要存放在数据库的 dede_archives 表(存放文章基本信息)和 dede_addon表(存放附加字段信息)中。dede_addon表 的名字是你创建模型时系统自动生成的,如 dede_addonproduct

Q4: 如何批量给已有文章添加自定义字段的数据? A4: 这是个高级操作,通常需要通过SQL语句或编写小插件来完成,对于普通用户,建议直接手动修改或在后台“内容维护”中找到对应的文章进行编辑,如果数据量很大,可以寻求二次开发帮助。

Q5: “自动生成HTML”选项有什么用? A5: 当你的字段类型是“文件”、“图片”、“编辑器”等时,开启此选项,织梦会自动为你生成好前台显示的HTML代码,对于“文件”类型,它会自动生成一个 <a> 标签作为下载链接;对于“图片”类型,它会自动生成 <img> 标签,这能极大简化你的模板开发工作。


自定义字段是织梦CMS的灵魂功能,掌握它你就能用织梦搭建出几乎所有类型的信息网站,核心流程就是:

创建模型 -> 添加字段 -> 应用到栏目 -> 发布内容 -> 前台调用

多加练习,你会发现它的强大之处,希望这份教程能帮到你!

-- 展开阅读全文 --
头像
dede showmsg如何更改?
« 上一篇 01-08
dede field如何实现条件判断?
下一篇 » 01-08

相关文章

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