1. 原理讲解:理解DedeCMS自定义表单前台模板的工作机制,这样你以后就能自己修改和制作。
  2. 模板下载:提供一个已经制作好的、可以直接使用的模板文件。

第一部分:DedeCMS自定义表单前台模板原理

DedeCMS的自定义表单功能非常灵活,其前台模板的渲染依赖于一个核心的PHP文件:/plus/diy.php,这个文件会读取你指定的模板文件,并将表单字段动态地填充进去。

核心流程

  1. 创建自定义表单:在DedeCMS后台创建一个自定义表单(命名为“意见反馈”)。
  2. 获取表单ID:创建成功后,系统会给你一个表单的ID,比如diyid=1。
  3. 创建模板文件:在模板目录(通常是 /templets/default/ 或你的主题目录)下,创建一个HTML文件,feedback_templet.htm
  4. 编写模板内容:在这个HTML文件中,使用DedeCMS的特定标签 {dede:diyfield name='字段名'/} 来定义每个表单输入框。
  5. 关联模板:在后台的自定义表单管理中,将这个模板文件与你的表单关联起来。
  6. 生成提交页面:通过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,来美化表单或增加验证功能。

第二部分:前台模板文件下载

为了方便您快速使用,我为您制作了一个功能更完善、样式更美观的通用表单模板。

模板特点

  1. 现代化设计:采用简洁的卡片式布局,响应式设计,在电脑和手机上都有良好的显示效果。
  2. 字段齐全:包含了文本、文本域、单选按钮、下拉菜单、复选框等多种常用字段类型的示例。
  3. 用户体验好
    • 添加了简单的表单前端验证(非空检查)。
    • 提交成功后会显示一个友好的成功提示,并自动跳转。
    • 提交失败会显示错误信息。
  4. 易于修改:代码结构清晰,您只需要修改其中的文字和颜色即可适配您的网站。

如何使用

  1. 下载模板文件

  2. 解压文件

    • 将下载的 diy_form_templet.zip 解压,你会得到一个名为 diy_form.htm 的文件。
  3. 上传到网站

    • 使用FTP或主机面板文件管理器,将 diy_form.htm 文件上传到你的DedeCMS模板目录下,通常是: /templets/你的主题名称/ /templets/default//templets/pbootcms/ 等)
  4. 在DedeCMS后台关联

    • 登录你的DedeCMS后台。
    • 进入 【核心】 -> 发布】 -> 【自定义表单管理】
    • 找到你想要应用此模板的自定义表单(意见反馈”),点击后面的 【修改】 按钮。
    • 在修改页面,找到 “列表模板” 这一栏。
    • 点击输入框后面的 【选择】 按钮,在弹出的窗口中选择你刚刚上传的 diy_form.htm 文件。
    • 点击 【确定】 保存。
  5. 访问表单页面

    • 现在你可以通过以下URL来访问你的自定义表单页面了: http://你的网站域名/plus/diy.php?action=list&diyid=你的表单ID
    • 如何找到你的表单ID? 在【自定义表单管理】列表中,每一行的最左边那个数字就是 diyid

模板预览

这里有一个简单的在线预览,展示了模板的样式和布局(预览中的提交功能无效):


总结与注意事项

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

希望这个详细的教程和下载模板能帮助你顺利完成DedeCMS自定义表单的前台页面制作!