- 创建自定义表单:在后台定义你需要收集的字段(如姓名、电话、邮箱、留言内容等)。
- 在前台页面调用表单:将你创建好的表单添加到网站的任何一个页面。
- 管理和查看留言:在后台接收、查看和管理用户提交的表单数据。
第一步:在后台创建自定义表单
这是最核心的一步,你需要告诉织梦你要收集哪些信息。

(图片来源网络,侵删)
-
登录织梦后台:使用你的管理员账号登录网站后台。
-
进入自定义表单管理:
- 在左侧菜单栏中,找到 【核心】 -> 【自定义表单】。
- 点击进入后,你会看到一个管理界面,默认是空的。
-
创建新的表单:
- 点击右上角的 【增加自定义表单】 按钮。
- 在弹出的页面中,填写以下信息:
- 表单名称:给你的表单起一个容易识别的名字,网站留言”、“产品咨询”、“报名申请”等,这个名字主要用于后台管理。
- :这是用户提交表单时,在后台看到的默认标题,你可以留空,也可以设置一个固定的标题,新的留言提交”。
- 栏目选择:选择一个栏目来关联这个表单,我们会创建一个专门的“留言/反馈”栏目,然后在这里选择它,这样,提交的留言就会以文章的形式出现在这个栏目下。
- 列表模板:用于设置表单提交成功后,跳转到的列表页面样式,你可以使用默认的,或者自己创建一个模板文件。
- 发布模板:用于设置单个表单数据的显示页面样式,同样,可以使用默认的。
- 表单说明:在表单上方给用户的提示信息,请填写以下信息,我们会尽快与您联系”。
- 是否启用:务必选择 “是”,否则前台将无法显示此表单。
- 默认排序:设置留言列表的默认排序方式,例如按ID降序(最新的在最前面)。
-
添加表单字段(最关键的一步):
(图片来源网络,侵删)- 填写完基本信息后,向下滚动页面,你会看到 “自定义表单字段管理” 部分。
- 点击 【增加字段】。
- 字段名:这是数据库中的字段名,必须使用英文或拼音,
name,tel,email,content。注意:不要使用中文或特殊字符。 - 字段提示:这是在表单中显示给用户的标签,您的姓名”、“联系电话”、“电子邮箱”、“留言内容”。
- 字段类型:选择适合的字段类型。
- 文本:用于短文本,如姓名、电话、邮箱。
- 多行文本:用于长文本,如留言内容、详细地址。
- 单选:用于单项选择,如性别、咨询类型,你需要设置选项,用 分隔,
男|女。 - 多选:用于多项选择,如兴趣爱好,设置选项同上,
运动|音乐|阅读。 - 下拉框:与单选类似,但显示为下拉菜单。
- 复选框:与多选类似,但显示为复选框。
- 时间:用于选择日期和时间。
- 文件上传:允许用户上传文件。注意:需要提前在后台设置好上传目录和权限。
- 是否必填:勾选此项后,用户必须填写该字段才能提交表单。
- 默认值:可以为字段设置一个默认值,例如性别默认“男”。
- 数据校验:可以设置简单的校验规则,如数字、邮箱格式等。
- 提交后是否显示:选择“否”,可以用于收集一些不希望在前台展示给用户的信息,如内部备注。
-
保存并生成:
- 将所有字段添加完毕后,点击页面底部的 【确定】 或 【保存并生成】 按钮。
- 织梦会自动为你生成一个存放表单数据的栏目(如果你之前没有选择,它会提示你创建),并生成必要的模板文件。
第二步:在前台页面调用表单
创建好表单后,你需要在前台页面显示它。
-
获取表单代码:
- 再次进入 【核心】 -> 【自定义表单】。
- 找到你刚刚创建的表单,点击右侧的 【调用】 按钮。
- 在弹出的窗口中,系统会自动生成一段代码,类似这样:
{dede:loop table='dede_yzform' sort='id' row='10' titlelen='50' typeid='1'} <a href="[field:arcurl/]">[field:title/]</a> {/dede:loop} - 这段代码是用来显示已提交留言列表的,不是用来显示输入表单的!
- 正确的调用方式是使用
{dede:php}标签,点击 【调用】 按钮后,仔细看页面说明,或者直接使用下面的通用代码。
-
将表单代码插入到模板文件:
- 打开你想要放置表单的模板文件(
index.htm,about.htm等)。 - 在你希望显示表单的位置,插入以下代码:
<!-- 调用自定义表单,注意替换 '你的表单ID' --> {dede:php} $dsql->SetQuery("SELECT * FROM `#@__yzform` WHERE id=你的表单ID"); $dsql->Execute(); $formfields = $dsql->GetArray(); // 这里可以做一些处理,但通常我们直接使用下面的标签 {/dede:php} <!-- 这是表单的HTML结构,直接复制使用即可 --> <form action="/plus/diy.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="你的表单ID" /> <input type="hidden" name="do" value="2" /> <!-- 在这里循环输出你定义的字段 --> <!-- 假设你定义了 name, tel, content 三个字段 --> <div class="form-group"> <label for="name">您的姓名:</label> <input type="text" name="name" id="name" class="form-control" /> </div> <div class="form-group"> <label for="tel">联系电话:</label> <input type="text" name="tel" id="tel" class="form-control" /> </div> <div class="form-group"> <label for="content">留言内容:</label> <textarea name="content" id="content" class="form-control" rows="5"></textarea> </div> <!-- 如果有单选/多选/下拉框,需要手动编写HTML --> <!-- 一个名为 'type' 的单选字段,选项是 '咨询|建议|投诉' --> <div class="form-group"> <label>留言类型:</label> <label><input type="radio" name="type" value="咨询" /> 咨询</label> <label><input type="radio" name="type" value="建议" /> 建议</label> <label><input type="radio" name="type" value="投诉" /> 投诉</label> </div> <button type="submit" class="btn btn-primary">提交</button> </form>代码解释:
action="/plus/diy.php":表单提交的地址,这是织梦固定的处理文件。name="diyid":最关键的参数,它的值是你创建的表单的ID,你可以在自定义表单列表页面看到每个表单的ID。name="字段名":input,textarea,select等表单元素的name属性,必须和你在后台定义的字段名(字段名)完全一致。- 如何找到你的表单ID? 在后台【自定义表单】列表中,查看你创建的表单,第一列的数字就是ID。
- 打开你想要放置表单的模板文件(
第三步:管理和查看留言
用户提交表单后,你可以在后台查看和管理这些数据。
-
进入留言管理:
- 在后台左侧菜单栏,找到 【核心】 -> 管理】 -> 【自定义表单管理】。
- 你会看到一个列表,里面包含了所有用户提交的表单数据,数据会以文章的形式展示,标题是你在后台设置的“默认标题”。
-
查看和审核:
- 你可以点击任意一条数据来查看其详细内容。
- 默认情况下,新提交的留言状态可能是“待审核”,你需要将其状态修改为“已审核”,它才会在前台的列表页面显示出来(如果你使用了列表模板调用的话)。
- 你可以在这里对留言进行回复、删除或修改状态。
-
数据导出:
- 如果你需要将数据导出为Excel或其他格式,可以使用一些织梦插件,或者直接在数据库中导出
#@__yzform相关的数据表。
- 如果你需要将数据导出为Excel或其他格式,可以使用一些织梦插件,或者直接在数据库中导出
常见问题与注意事项
-
提交后跳转页面:如果你想自定义提交成功后的跳转页面,可以在表单代码中加入一个隐藏字段:
<input type="hidden" name="gotopage" value="/success.html" />
然后你需要自己创建一个
success.html页面,并生成到网站根目录。 -
表单样式:上面的代码使用了
form-group和form-control类,这是Bootstrap框架的样式,如果你的网站没有使用Bootstrap,可以删除这些类,或者换成你自己的CSS样式。 -
CSRF安全验证:新版本的织梦默认开启了CSRF验证,如果你的表单提交失败,可以尝试在表单中添加织梦的CSRF token:
<input type="hidden" name="dede_fields" value="你的字段列表" /> <input type="hidden" name="dede_fieldshash" value="自动生成的哈希值" />
更简单的方法是,在表单里加上
{dede:csrfpost/}标签,织梦会自动处理。 -
邮件提醒:织梦的自定义表单默认不包含邮件提醒功能,如果你希望在收到新留言时通过邮件通知管理员,可以安装第三方插件或手动修改
plus/diy.php文件,在处理提交数据后加入邮件发送的代码。
通过以上步骤,你就可以灵活地在织梦网站上创建各种功能强大的自定义表单了。
