dede自定义字段怎么使用

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

在 DedeCMS(织梦CMS)中,自定义字段(也称为“附加字段”)是一个非常强大的功能,它允许你在默认的文章模型之外添加额外的内容(比如价格、规格、图片、下载链接等)。

dede自定义字段怎么使用
(图片来源网络,侵删)

以下是使用 DedeCMS 自定义字段的完整步骤,分为后台创建前台调用列表页调用三个部分。


第一步:在后台创建自定义字段

你需要告诉系统你要添加什么字段。

  1. 进入模型管理
    • 登录后台。
    • 点击左侧菜单:核心 -> 频道模型 -> 内容模型管理
  2. 选择模型
    • 找到你需要添加字段的模型(普通文章”),点击右侧的 更改(是一个黄色的图标)。
  3. 添加字段
    • 在弹出的页面中,点击 添加新字段 按钮。
  4. 设置字段属性(关键步骤):
    • 表单提示文字:给管理员看的名称,商品价格”。
    • 字段名称:给系统看的,只能用英文字母和数字,price
    • 字段类型:根据需求选择。
      • 单行文本:适合短内容(价格、颜色)。
      • 多行文本:适合长内容(详细介绍)。
      • 图片/上传文件:适合图片或附件。
    • 前台参数
      • 非常重要:勾选 使字段可以在列表的底层模板中获得,如果你不勾选这个,在列表页({dede:list})中将无法调用这个字段。
    • 确定保存

第二步:在前台模板中调用字段

创建好字段后,在发布文章时你会看到新的输入框,填入内容后,需要在网页模板中调用。

页 使用

这是最常用的方式,在内容页模板(通常是 article_article.htm 或类似文件)中,直接使用以下标签:

dede自定义字段怎么使用
(图片来源网络,侵删)
  • 直接调用字段值:

    {dede:field.字段名/}

    如果字段名是 price,则写 {dede:field.price/}

  • 带有默认值或判断: 如果字段为空,不想显示空白,可以使用 function 进行处理,或者简单的判断:

    <!-- 示例:如果价格为空显示面议 -->
    价格:{dede:field.price runphp="yes"}if(@me==''){@me='面议';}{/dede:field.price}

在列表页 或循环中使用

如果你在列表页,或者在使用 arclist 标签时,调用方式略有不同。

  • 前提条件:必须确保在第一步创建字段时,勾选了“使字段可以在列表的底层模板中获得”。arclist 标签必须加上 addfieldschannelid 属性。

  • 调用代码:

    {dede:arclist typeid='1' row='10' addfields='字段名1,字段名2' channelid='模型ID'}
       <li>
          标题:[field:title/]
          <!-- 调用自定义字段 -->
          价格:[field:字段名1/]
       </li>
    {dede:arclist}
    • addfields:指定要调用的自定义字段名,多个用逗号隔开。
    • channelid:模型ID。
      • 普通文章的 ID 通常是 1
      • 图片集通常是 2
      • 你可以在“内容模型管理”列表中查看 ID。
  • 在 {dede:list} 标签中:

    {dede:list pagesize='10' addfields='字段名' channelid='1'}
        <li>[field:字段名/]</li>
    {/dede:list}

常见问题与技巧

调用图片类型的字段

如果你创建的字段类型是“图片”,直接调用 {dede:field.pic/} 会输出图片的相对路径(/uploads/.../image.jpg),而不是一个完整的 <img>

你需要手动补全 HTML 代码:

<img src="{dede:field.pic/}" alt="我的图片">

调用附件/文件类型

如果是文件类型,直接调用会输出文件路径,如果需要获取文件名或后缀,可能需要配合 PHP 函数处理。

为什么列表页调用不出来?

90% 的原因是因为:

  1. 忘记在 arclist 标签中加 addfields='字段名'
  2. 忘记在 arclist 标签中加 channelid='模型ID'
  3. 创建字段时没有勾选“使字段可以在列表的底层模板中获得”。

多选框或复选框的调用

如果字段类型是 option(下拉框)或 checkbox(复选框),直接调用会显示数据库存储的值(通常是英文或数字),如果需要显示中文文本,可能需要查看织梦的 field 相关函数,或者使用 runphp 进行简单的映射替换。

  • 内容页:用 {dede:field.字段名/}
  • 列表/循环:用 [field:字段名/],且必须加 addfieldschannelid
-- 展开阅读全文 --
头像
dede数据库密码怎么修改?
« 上一篇 02-07
C语言库函数速查手册CHM在哪里下载?
下一篇 » 02-07

相关文章

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