织梦采集自定义表单如何配置使用?

99ANYc3cd6
预计阅读时长 24 分钟
位置: 首页 织梦建站 正文
  1. 后台创建表单:在织梦后台设置表单的字段、样式和提交规则。
  2. 前台调用表单:在前台页面中,通过代码将你创建好的表单显示出来,并处理用户提交。

第一步:在织梦后台创建自定义表单

进入表单管理界面

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

点击进入后,你会看到一个管理界面,默认是空的。

创建新表单

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

填写表单基本信息

在弹出的页面中,你需要填写以下几个关键信息:

  • 表单名称:给你的表单起一个名字,方便在后台识别。“在线报名”、“产品咨询”、“留言反馈”,这个名字不会在前台显示。
  • 默认表单模板:这是表单提交成功后,用户看到的页面模板,你可以使用织梦默认的,也可以自己创建一个HTML模板文件,上传到 /templets/ 目录下,然后在这里填写路径,/templets/default/submit_success.htm
  • 后台列表模板:在后台“自定义表单”管理页面中,每条记录显示的样式,通常使用默认即可。
  • 后台列表行数:每页显示多少条记录。
  • 是否开启:选择“是”来启用这个表单。

添加表单字段(最关键的一步)

填写完基本信息后,向下滚动页面,你会看到 “增加表单字段” 的区域,这里是定义你想要用户填写哪些内容的地方。

点击 “增加字段”,开始逐个添加。

字段类型选择与常用字段设置:

字段类型 说明 常用场景 关键设置
文本域 多行文本输入框,可以输入较长的内容。 详细留言、自我介绍、备注等。 名称message (英文,用于后台识别) 字段提示请详细描述您的问题或需求 (前台显示给用户的提示)
单行文本 单行文本输入框。 姓名、电话、邮箱、公司名称等。 名称name 字段提示您的姓名
数字 只能输入数字的文本框。 年龄、数量、工号等。 名称age 字段提示您的年龄
下拉框 提供一个下拉列表供用户选择。 省份、学历、服务类型等。 名称province 字段提示您所在的省份 选项北京,上海,广州,深圳 (用英文逗号分隔)
单选框 提供多个选项,但用户只能选择一个。 性别、服务等级等。 名称gender 字段提示您的性别 选项男,女
复选框 提供多个选项,用户可以同时选择多个。 兴趣爱好、需要的服务等。 名称hobby 字段提示您的兴趣爱好 选项阅读,运动,音乐,旅行
附件 允许用户上传文件。 上传简历、作品集、图片等。 名称resume 字段提示请上传您的简历 默认值:可以设置允许上传的文件类型,如 rar,zip,doc,docx

字段设置详解:

  • 字段名称非常重要,必须是英文,如 name, tel, email,这个名称会作为数据库表的字段名,在后续的模板调用和邮件发送中都会用到。
  • 字段提示:在前台表单中,作为 <label> 显示给用户,引导用户填写。
  • 默认值:可以为某些字段设置一个默认的选项或文本。
  • 是否必填:勾选此项后,用户提交表单时,该字段如果没有填写,将无法提交,并会提示用户。
  • 是否显示:通常都勾选“是”,让该字段在前台显示。
  • 控件排列:选择 left(左对齐)或 right(右对齐)。

示例:创建一个“在线报名”表单

  1. 表单名称在线报名
  2. 增加字段
    • 字段类型:单行文本
      • 字段名称:name
      • 字段提示:姓名
      • 是否必填:是
    • 字段类型:单行文本
      • 字段名称:tel
      • 字段提示:联系电话
      • 是否必填:是
    • 字段类型:单行文本
      • 字段名称:email
      • 字段提示:电子邮箱
      • 是否必填:否
    • 字段类型:下拉框
      • 字段名称:course
      • 字段提示:意向课程
      • 选项:网站开发,UI设计,新媒体运营
      • 是否必填:是
    • 字段类型:文本域
      • 字段名称:remark
      • 字段提示:备注信息
      • 是否必填:否

保存表单

填写完所有字段后,点击底部的 “保存” 按钮,织梦会自动在数据库中创建一个对应的数据表(dede_addonxx,xx是数字),用于存储用户提交的数据。


第二步:在前台页面调用表单

现在表单已经在后台创建好了,我们需要在前台的一个页面上把它显示出来。

创建前台模板文件

在你的模板目录(/templets/default/)下,创建一个新的HTML文件,form.htm,这个文件就是用来显示表单的。

在模板文件中编写代码

打开 form.htm,将以下代码粘贴进去,并根据你的表单进行修改。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">在线报名</title>
</head>
<body>
    <h2>在线报名表单</h2>
    {dede:php}
        // 获取当前表单的ID,这个ID在后台自定义表单列表页的链接中可以看到
        // 在列表中点击“编辑”,URL可能是 ...?dopost=edit&aid=1
        // 这里的 aid=1 就是表单ID
        $formid = 1; // <--- 请务必修改成你的表单ID
        // 调用自定义表单,生成HTML代码
        echo $dsql->GetOne("SELECT * FROM `dede_arctype` WHERE id = $formid"); // 这句是错的,只是为了演示获取ID,正确方法见下方
        // 正确的调用方式是直接使用标签
    {/dede:php}
    <!-- 这是调用自定义表单的核心标签 -->
    {dede:myform name='在线报名'}
        <!-- 循环输出表单中的每一个字段 -->
        {dede:field name='body'/}
    {/dede:myform}
    <!-- 如果想手动控制表单样式,可以使用下面的方法,更灵活 -->
    <!--
    <form action="/plus/diy.php" enctype="multipart/form-data" method="post">
        <input type="hidden" name="action" value="post" />
        <input type="hidden" name="diyid" value="1" />  <!-- 1 是你的表单ID -->
        <input type="hidden" name="do" value="2" />
        <div>
            <label for="name">姓名:</label>
            <input type="text" id="name" name="name" />
        </div>
        <div>
            <label for="tel">联系电话:</label>
            <input type="text" id="tel" name="tel" />
        </div>
        <div>
            <label for="course">意向课程:</label>
            <select id="course" name="course">
                <option value="">请选择</option>
                <option value="网站开发">网站开发</option>
                <option value="UI设计">UI设计</option>
                <option value="新媒体运营">新媒体运营</option>
            </select>
        </div>
        <div>
            <label for="remark">备注信息:</label>
            <textarea id="remark" name="remark" rows="5" cols="30"></textarea>
        </div>
        <button type="submit">提交</button>
    </form>
    -->
</body>
</html>

代码解释:

  • 使用 {dede:myform} 标签(简单快捷)

    • {dede:myform name='在线报名'}name 的值必须和你后台创建的“表单名称”完全一致。
    • {dede:field name='body'/}:这个标签会自动生成包含所有你定义的字段的HTML代码,并自带基本的CSS样式,你可以在后台的“自定义表单” -> “修改” -> “前台表单模板”中修改这个生成的HTML结构。
  • 手动编写HTML(灵活,推荐)

    • <form action="/plus/diy.php" ...>:表单的提交地址是固定的,为 /plus/diy.php
    • name="diyid":这个隐藏字段的 value 必须是你的自定义表单在数据库中的ID,如何找到这个ID?
      1. 在后台“自定义表单”列表中,鼠标移动到你创建的表单那一行。
      2. 浏览器左下角会显示链接,...?dopost=edit&aid=1,这里的 aid=1 就是ID。
    • name="字段名称"<input>, <select>, <textarea>name 属性,必须和你后台设置的字段名称(英文)完全一致,这是提交的数据能正确保存到对应字段的关键。
    • enctype="multipart/form-data":如果你的表单中有“附件”类型的字段,这个属性是必须的

创建提交成功后的页面

在第一步中,你设置了“默认表单模板”,你需要创建这个模板文件。

  1. 在模板目录(/templets/default/)下,创建一个文件,submit_success.htm
  2. 在这个文件里,你可以写一些提交成功后的提示信息,
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>提交成功</title>
    </head>
    <body>
        <h1>提交成功!</h1>
        <p>感谢您的报名,我们会尽快与您联系。</p>
        <p> [<a href="/">返回首页</a>] </p>
    </body>
    </html>
  3. 回到后台“自定义表单”的修改页面,将“默认表单模板”的路径设置为 /templets/default/submit_success.htm

在网站栏目或首页中调用

你可以在网站的任何地方(比如首页、某个内容页的栏目)通过链接指向你刚刚创建的 form.htm 页面。

在首页的某个位置添加一个链接: <a href="/form.htm">点击在线报名</a>


第三步:管理与查看提交的数据

用户提交表单后,你可以在后台查看和管理这些数据。

  1. 登录织梦后台。
  2. 进入 核心 -> 自定义表单
  3. 你会看到你创建的表单列表,点击 “数据管理”
  4. 你可以看到所有用户提交的记录,支持按条件搜索、删除、修改等操作。

总结与常见问题

  • 表单提交后内容为空?

    • 检查前台表单控件的 name 属性是否和后台设置的“字段名称”完全一致(区分大小写)。
    • 检查 form 标签的 action 是否为 /plus/diy.php
    • 如果有附件,检查 enctype 属性是否设置正确。
  • 如何让表单更美观?

    • 方法一:修改后台“自定义表单” -> “修改” -> “前台表单模板”中的HTML结构,并为其添加CSS样式。
    • 方法二:推荐使用手动编写HTML的方法,这样你可以完全控制表单的HTML结构和CSS样式,实现更复杂的设计。
  • 如何将提交的数据发送到指定邮箱?

    • 在后台“自定义表单”的修改页面,找到 模板”
    • 你可以编写一封邮件的HTML内容,可以使用变量来动态插入用户提交的数据,
      姓名:{name}
      电话:{tel}
      课程:{course}
      备注:{remark}
    • 填写 “接收邮件的邮箱地址”
    • 这样,每当有用户提交表单,系统就会自动将这封邮件发送到你指定的邮箱。

通过以上步骤,你就可以在织梦CMS中成功创建和使用功能强大的自定义表单了。

-- 展开阅读全文 --
头像
织梦会员验证码错误,如何解决?
« 上一篇 04-24
如何导出dede全部文章?
下一篇 » 04-24

相关文章

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

目录[+]