dede提交表单插件如何使用?

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

在 DedeCMS 中,并没有一个叫做“提交表单插件”的独立插件,这个功能是通过其核心的“自定义表单”功能来实现的,这个功能非常强大和灵活,可以让你轻松创建各种类型的表单,用于收集用户反馈、在线报名、订单、留言等。

dede提交表单插件
(图片来源网络,侵删)

下面我将为你提供一个从入门到精通的完整指南,包括如何创建表单、如何在前台提交、以及如何管理和导出数据。


什么是 DedeCMS 自定义表单?

自定义表单是 DedeCMS 的一个核心功能,它允许你在网站前台创建一个由你自己定义的表单,当用户在前台填写并提交这个表单后,数据会被保存在网站的数据库中,你可以在网站后台查看、管理和导出这些数据。

常见用途:

  • 在线报名:活动、会议、课程报名。
  • 产品询价:用户留下联系方式和需求。
  • 留言/反馈:比系统自带的留言板更灵活,字段更多。
  • 订单收集:简单的在线订单。
  • 问卷调查:收集用户意见。

如何创建一个自定义表单?(后台操作)

这是整个过程的核心步骤,我们以创建一个“在线报名”表单为例。

dede提交表单插件
(图片来源网络,侵删)

第1步:进入自定义表单管理

登录你的 DedeCMS 后台,在左侧菜单栏找到: 核心 -> 自定义表单

点击进入后,默认是“自定义表单管理”页面,这里会列出你所有已经创建的表单。

第2步:添加新的自定义表单

点击页面右上角的 增加自定义表单 按钮。

你会看到需要填写的表单字段,请务必仔细填写:

  1. 表单名称

    • 作用:在后台识别这个表单的唯一名称,不会显示在前台。
    • 示例在线报名表activity_signup
  2. 表单提示

    • 作用:显示在表单列表页面顶部的提示文字,方便后台管理。
    • 示例用于收集用户参加活动的报名信息。
  3. 目录选择

    • 作用:选择一个栏目,提交成功后可以自动跳转到这个栏目页面,通常选择一个“感谢页面”或“首页”。
    • 示例:选择一个你事先建好的“报名成功”栏目。
  4. 列表模板

    • 作用非常重要! 这是定义前台表单样式的文件,你需要在这里编写 HTML 代码,并插入 DedeCMS 的表单标签。
    • 示例templets/default/form_activity_signup.htm (这个文件需要你手动创建和上传)。
  5. 发布模板

    • 作用:用于定义用户提交成功后,跳转页面的模板,通常可以和“列表模板”共用,或者使用一个简单的静态感谢页面。
    • 示例:可以留空,使用默认的提示,或者指向一个静态的感谢页面 HTML 文件。
  6. 默认排序

    • 作用:在后台查看数据列表时的默认排序方式。
    • 示例id DESC (按提交时间倒序)。
  7. 表单字段

    • 作用:这是最核心的部分,定义你的表单里包含哪些输入项,每一行代表一个字段。
    • 格式字段名|字段类型|默认值|最大长度|是否为空|提示文字
    • 示例
      • name|text||50|否|姓名
      • tel|text||20|否|联系电话
      • email|text||50|是|电子邮箱
      • activity_date|date||10|否|参加日期
      • remarks|textarea||255|是|备注
      • ip|text||15|是|IP地址 (这个字段是固定的,用于记录提交者的IP)
  8. 是否启用

    • 作用:选择“是”才能让前台用户看到并提交表单。
    • 示例
  9. 是否验证码

    • 作用:为了防止恶意提交,建议开启。
    • 示例

填写完毕后,点击 确定 按钮保存,一个自定义表单就在后台创建好了。


如何制作前台表单页面?(前端制作)

上一步中,你指定了一个“列表模板”,templets/default/form_activity_signup.htm,现在你需要创建这个文件,并编写其内容。

  1. 创建文件: 在你的网站模板目录 templets/default/ 下,新建一个文件,命名为 form_activity_signup.htm

  2. 编写代码: 用代码编辑器打开这个新文件,写入以下代码,这是一个标准的 HTML 表单,关键在于 dede:form 标签和 {dede:field} 标签的使用。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">在线报名</title>
</head>
<body>
    <h1>活动报名表</h1>
    <p>请填写以下信息完成报名:</p>
    <!-- 
        dede:form 标签是核心,它负责生成表单和处理提交。
        - actionurl: 指向表单处理程序,通常为 "/plus/diy.php"
        - method: 提交方式,通常是 "post"
        - enctyp: 如果有文件上传,需要设置为 "multipart/form-data"
        - name: 表单的 name 属性
    -->
    {dede:form name='myform' actionurl='/plus/diy.php' method='post' enctype='multipart/form-data'}
        <!-- 
            {dede:field} 标签用于输出你在后台定义的表单字段。
            - 每个字段一个 {dede:field} 标签。
            - 'function' 属性可以调用函数,比如对日期格式化。
        -->
        <div>
            <label for="name">姓名:</label>
            {dede:field name='name' /}
        </div>
        <div>
            <label for="tel">联系电话:</label>
            {dede:field name='tel' /}
        </div>
        <div>
            <label for="email">电子邮箱:</label>
            {dede:field name='email' /}
        </div>
        <div>
            <label for="activity_date">参加日期:</label>
            {dede:field name='activity_date' /}
        </div>
        <div>
            <label for="remarks">备注:</label>
            {dede:field name='remarks' /}
        </div>
        <!-- 
            隐藏字段,非常重要!
            - diyid: 必须填写,值为你在后台创建的表单的 ID,你可以在后台自定义表单列表页面看到这个 ID。
            - action: 'post' 表示提交数据。
        -->
        <input type="hidden" name="diyid" value="在这里填入你的表单ID" />
        <input type="hidden" name="action" value="post" />
        <!-- 
            验证码,如果后台开启了验证码,这里必须加上。
            - validate: 必须设置为 'validate'
        -->
        {dede:validate/}
        <div>
            <label>验证码:</label>
            {dede:validate/}
        </div>
        <div>
            <button type="submit">提交报名</button>
        </div>
    {/dede:form}
</body>
</html>

关键点解释:

  • {dede:form}:这是整个表单的容器,它会自动生成 <form>
  • {dede:field name='xxx' /}:这是生成具体表单单行输入框(如文本框、日期选择器)的标签。name 属性的值必须和你在后台“表单字段”中定义的字段名完全一致。
  • 隐藏字段 diyid这是最容易出错的地方! 你必须去后台“自定义表单管理”页面找到你刚创建的表单,记下它的 ID,然后把这个 ID 填入到 value 属性中,没有这个 ID,表单不知道数据该提交给谁。
  • {dede:validate/}:用于生成验证码输入框和验证码图片,如果后台开启了验证码,前台就必须有这个标签。

如何管理和查看提交的数据?

  1. 进入数据管理: 在后台 核心 -> 自定义表单 页面,点击你创建的表单名称(在线报名表”),进入该表单的数据管理页面。

  2. 查看数据: 你可以看到所有用户提交的数据列表,包括提交时间、IP地址以及你定义的所有字段。

  3. 筛选和搜索: 你可以对数据进行排序,或者根据某个字段的关键词进行搜索,方便快速找到特定记录。

  4. 导出数据: DedeCMS 自带数据导出功能,在数据管理页面,你可以选择将数据导出为 Excel (.xls)CSV (.csv) 格式,方便进行 offline 分析和处理。


常见问题与解决方案

  1. 问题:提交后页面跳转错误或提示“提交失败”。

    • 原因:最常见的原因是 diyid 隐藏字段的值填错了,或者后台的“目录选择”指定的栏目不存在。
    • 解决:请仔细核对 diyid 和目标栏目 ID。
  2. 问题:前台表单样式错乱。

    • 原因{dede:form}{dede:field} 标签默认会生成一些样式,可能与你的网站风格不符。
    • 解决:你可以通过 CSS 来覆盖这些默认样式,或者直接在 form_activity_signup.htm 文件中内嵌 CSS 代码来控制表单的外观。
  3. 问题:需要增加新的字段怎么办?

    • 原因:需求变更。
    • 解决:无法直接在后台修改,你需要:
      1. 在后台“自定义表单管理”页面,点击 修改自定义表单
      2. 在“表单字段”区域,按照 字段名|字段类型|... 的格式,在末尾添加新的字段定义。
      3. 保存后,必须修改你的前台模板文件 form_activity_signup.htm,在相应位置添加新的 {dede:field name='新字段名' /}
      4. 注意:如果表单中已有数据,新增的字段在旧数据中将为空。

DedeCMS 的自定义表单功能虽然不是传统意义上的“插件”,但其灵活性和强大性足以满足绝大多数网站的数据收集需求,掌握它的核心流程:

  1. 后台:创建表单 -> 定义字段 -> 设置模板。
  2. 前台:制作模板文件 -> 编写 {dede:form}{dede:field} 标签 -> 设置 diyid
  3. 数据:后台查看、搜索、导出。

只要理解了这三个步骤,你就能随心所欲地创建各种表单了。

-- 展开阅读全文 --
头像
织梦5.7下拉菜单如何自定义样式?
« 上一篇 04-17
C语言Vigenere密码如何实现与优化?
下一篇 » 04-17

相关文章

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