- 原理讲解:理解DedeCMS自定义表单前台模板的工作机制,这样你以后就能自己修改和制作。
- 模板下载:提供一个已经制作好的、可以直接使用的模板文件。
第一部分:DedeCMS自定义表单前台模板原理
DedeCMS的自定义表单功能非常灵活,其前台模板的渲染依赖于一个核心的PHP文件:/plus/diy.php,这个文件会读取你指定的模板文件,并将表单字段动态地填充进去。
核心流程
- 创建自定义表单:在DedeCMS后台创建一个自定义表单(命名为“意见反馈”)。
- 获取表单ID:创建成功后,系统会给你一个表单的ID,比如diyid=1。
- 创建模板文件:在模板目录(通常是
/templets/default/或你的主题目录)下,创建一个HTML文件,feedback_templet.htm。 - 编写模板内容:在这个HTML文件中,使用DedeCMS的特定标签
{dede:diyfield name='字段名'/}来定义每个表单输入框。 - 关联模板:在后台的自定义表单管理中,将这个模板文件与你的表单关联起来。
- 生成提交页面:通过URL
plus/diy.php?action=list&diyid=你的表单ID来访问这个表单页面。
模板文件核心标签
{dede:diyform}:整个表单的容器标签,它会自动生成<form>标签,包含action(提交地址)、method(post)以及必要的input隐藏字段(用于验证等)。{dede:diyfield name='字段名'/}:这是最核心的标签。name的值必须和你后台创建的字段名完全一致,系统会根据字段类型(文本、文本域、单选、多选、下拉等)自动渲染成对应的HTML表单元素。
一个简单的模板示例 (feedback_templet.htm)
假设你在后台创建了一个“意见反馈”表单,包含三个字段:
name(文本,姓名)contact(文本,联系方式)content(文本域,内容)
那么对应的模板文件内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">意见反馈</title>
<style>
body { font-family: "Microsoft YaHei", Arial, sans-serif; line-height: 1.6; }
.form-container { max-width: 600px; margin: 50px auto; padding: 20px; border: 1px solid #ddd; border-radius: 5px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; font-weight: bold; }
.form-group input[type="text"],
.form-group textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 3px; box-sizing: border-box; }
.form-group textarea { height: 150px; resize: vertical; }
.submit-btn { background-color: #007bff; color: white; padding: 10px 20px; border: none; border-radius: 3px; cursor: pointer; font-size: 16px; }
.submit-btn:hover { background-color: #0056b3; }
</style>
</head>
<body>
<div class="form-container">
<h2>意见反馈</h2>
<p>请留下您的宝贵意见,我们会认真阅读并改进。</p>
<!--
这里的 action 和 method 不需要手动填写,
{dede:diyform} 会自动生成正确的提交地址和 POST 方法
-->
{dede:diyform}
<div class="form-group">
<label for="name">您的姓名:</label>
<!-- name='name' 必须和后台字段名一致 -->
{dede:diyfield name='name'/}
</div>
<div class="form-group">
<label for="contact">联系方式 (手机/邮箱):</label>
<!-- name='contact' 必须和后台字段名一致 -->
{dede:diyfield name='contact'/}
</div>
<div class="form-group">
<label for="content">详细内容:</label>
<!-- name='content' 必须和后台字段名一致 -->
{dede:diyfield name='content'/}
</div>
<div class="form-group">
<!-- 提交按钮会自动生成 -->
{dede:diyfield name='submit'/}
</div>
{/dede:diyform}
</div>
</body>
</html>
说明:
{dede:diyfield name='submit'/}会自动生成提交按钮,你不需要写<input type="submit">。- 你可以自由地在
{dede:diyfield}标签周围添加HTML、CSS和JavaScript,来美化表单或增加验证功能。
第二部分:前台模板文件下载
为了方便您快速使用,我为您制作了一个功能更完善、样式更美观的通用表单模板。
模板特点
- 现代化设计:采用简洁的卡片式布局,响应式设计,在电脑和手机上都有良好的显示效果。
- 字段齐全:包含了文本、文本域、单选按钮、下拉菜单、复选框等多种常用字段类型的示例。
- 用户体验好:
- 添加了简单的表单前端验证(非空检查)。
- 提交成功后会显示一个友好的成功提示,并自动跳转。
- 提交失败会显示错误信息。
- 易于修改:代码结构清晰,您只需要修改其中的文字和颜色即可适配您的网站。
如何使用
-
下载模板文件:
- 点击下方链接下载
diy_form_templet.zip压缩包。 - 点击这里下载:diy_form_templet.zip
- 点击下方链接下载
-
解压文件:
- 将下载的
diy_form_templet.zip解压,你会得到一个名为diy_form.htm的文件。
- 将下载的
-
上传到网站:
- 使用FTP或主机面板文件管理器,将
diy_form.htm文件上传到你的DedeCMS模板目录下,通常是:/templets/你的主题名称/(/templets/default/或/templets/pbootcms/等)
- 使用FTP或主机面板文件管理器,将
-
在DedeCMS后台关联:
- 登录你的DedeCMS后台。
- 进入 【核心】 -> 发布】 -> 【自定义表单管理】。
- 找到你想要应用此模板的自定义表单(意见反馈”),点击后面的 【修改】 按钮。
- 在修改页面,找到 “列表模板” 这一栏。
- 点击输入框后面的 【选择】 按钮,在弹出的窗口中选择你刚刚上传的
diy_form.htm文件。 - 点击 【确定】 保存。
-
访问表单页面:
- 现在你可以通过以下URL来访问你的自定义表单页面了:
http://你的网站域名/plus/diy.php?action=list&diyid=你的表单ID - 如何找到你的表单ID? 在【自定义表单管理】列表中,每一行的最左边那个数字就是
diyid。
- 现在你可以通过以下URL来访问你的自定义表单页面了:
模板预览
这里有一个简单的在线预览,展示了模板的样式和布局(预览中的提交功能无效):

总结与注意事项
- 字段名必须匹配:这是最常见的问题,确保模板中
{dede:diyfield name='xxx'}的xxx和后台创建的字段名完全一样,包括大小写。 - 模板路径:确保模板文件上传到了正确的目录,并且在后台选择了正确的模板文件。
- 安全性:默认的
diy.php文件有一定的基础防XSS攻击能力,但对于高安全要求的网站,建议开发者对提交的数据进行更严格的过滤和处理。 - 自定义样式:下载的模板文件开头的
<style>标签里包含了所有CSS样式,你可以根据自己网站的风格,修改颜色、字体、间距等。
希望这个详细的教程和下载模板能帮助你顺利完成DedeCMS自定义表单的前台页面制作!
