dede自定义表单结果如何调用与显示?

99ANYc3cd6
预计阅读时长 19 分钟
位置: 首页 DEDE建站 正文
  1. 创建自定义表单:在前台添加一个表单供用户填写和提交。
  2. 查看和管理结果:在后台查看用户提交的数据。
  3. 调用和展示结果:在前台页面展示用户提交的内容(做成一个留言板、案例展示等)。

下面我们一步步进行说明。

dede自定义表单结果
(图片来源网络,侵删)

第一步:创建自定义表单

这是基础操作,目的是让网站有一个可以收集用户信息的入口。

  1. 登录后台:使用管理员账号登录您的 DedeCMS 后台。

  2. 进入表单管理:在左侧菜单栏中,找到并点击 【核心】 -> 频道管理】

  3. 创建新表单频道管理页面,点击右上角的 [增加顶级频道] 按钮。

    dede自定义表单结果
    (图片来源网络,侵删)
  4. 填写表单信息

    • 频道名称:给你的表单起一个名字,在线留言”、“报名申请”、“产品询价”等,这个名字会在后台列表中显示。
    • 频道目录:英文名称,用于生成静态文件的目录,建议使用英文或拼音,messagebaoming
    • 频道列表选项
      • 使频道列表支持调用务必勾选此项,这是后续在前台调用数据的基础。
      • 默认列表模板:可以暂时留空,后面我们再创建。
    • 发布栏目:选择一个栏目来存放这些表单数据,通常可以新建一个专门的“留言反馈”栏目来存放。
    • 其他选项:可以根据需要设置,比如是否允许匿名投稿等。
  5. 提交并添加字段:点击“确定”保存,创建成功后,系统会提示你“是否添加字段?”,点击 [是]

  6. 添加表单字段:这是最关键的一步,决定了你的表单里有什么输入框。

    • 字段名称:英文,如 name, tel, content
    • 字段别名:中文,如“姓名”、“电话”、“留言内容”,这个别名会在后台显示。
    • 字段类型:根据你的需求选择,如:
      • 单行文本:用于姓名、电话、邮箱等。
      • 多行文本:用于留言内容、详细说明等。
      • 下拉菜单:用于性别、学历、意向产品等固定选项。
      • 单选按钮 / 复选框:用于多选或单选。
      • 时间:用于提交时间等。
    • 字段值:如果是下拉菜单或单选/复选框,在这里填写选项,用 分隔,男|女
    • 是否必填:勾选后,用户提交时此字段为空将无法提交。
    • 默认值:可以设置一个默认显示的值。
    • 数据:可以关联到其他数据,普通表单一般不用。
    • 显示方式:保持默认的 input 即可。

    添加完所有需要的字段后,点击“保存”即可。

    dede自定义表单结果
    (图片来源网络,侵删)

前台效果:你可以使用 {dede:php} 标签或者通过模板文件(如 plus/diyform.php)来调用这个表单,或者生成一个静态页面来展示它,一个简单的调用示例(通常放在需要显示表单的模板文件中):

<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" />
    <p>姓名:<input type="text" name="name" id="name" /></p>
    <p>电话:<input type="text" name="tel" id="tel" /></p>
    <p>留言:<textarea name="content" id="content"></textarea></p>
    <p><input type="submit" name="submit" value="提交" /></p>
</form>

注意<input>name 属性必须和你后台添加的字段名称(英文)完全一致。


第二步:查看和管理表单结果

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

  1. 进入结果管理:在后台左侧菜单,找到 【核心】 -> 频道管理】
  2. 选择你的表单:在列表中找到你刚才创建的表单(在线留言”),点击其右侧的 [管理文档] 链接。
  3. 查看提交记录
    • 进入后,你会看到所有用户提交的记录列表。
    • 每条记录都显示了你在后台设置的字段内容。
    • 状态栏通常为“待审核”,你可以点击“审核”按钮将其通过,或者“删除”将其移除。
    • 你可以在这里直接编辑、删除用户提交的数据。

第三步:调用和展示表单结果(重点)

这是最常用也最灵活的一步,目的是将后台收集的数据展示给网站的其他访客,比如做一个“客户留言墙”或“成功案例展示”。

这里我们使用 DedeCMS 最强大的标签 {dede:arclist}{dede:list}

使用 {dede:list} 标签(推荐用于列表页)

{dede:list} 通常用于频道首页或列表页,分页显示内容。

  1. 创建模板文件:在 /templets/yourtemplate/ 目录下创建一个新的模板文件,list_message.htm
  2. 编写模板代码:在 list_message.htm 中,使用 {dede:list} 标签循环输出数据。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">客户留言展示</title>
</head>
<body>
    <h1>客户留言墙</h1>
    {dede:list pagesize='10' titlelen='50'}
    <div class="message-item">
        <h3>姓名:[field:name/]</h3>
        <p>电话:[field:tel/]</p>
        <p>留言内容:[field:content/]</p>
        <p class="post-time">提交时间:[field:pubdate function="MyDate('Y-m-d H:i:s',@me)"/]</p>
    </div>
    {/dede:list}
    <!-- 分页条 -->
    <div class="page">
        {dede:pagelist listsize='4' listitem='info,index,pre,next,end,option'}
    </div>
</body>
</html>

代码解释

  • {dede:list pagesize='10'}:循环输出自定义表单的内容,每页显示10条。
  • [field:字段名/]:这是核心标签,用于输出你在后台创建的每个字段的内容。[field:name/] 就会输出“姓名”字段的内容。
  • [field:pubdate/]:这是系统自带的字段,代表提交时间,我们用 function="MyDate()" 对其进行格式化,使其更易读。
  • {dede:pagelist}:自动生成分页导航。
  1. 生成页面
    • 在后台,进入 【生成】 -> 【一键更新网站】
    • 选择“更新栏目HTML”或“更新指定页面”,然后选择你存放留言展示的栏目(留言反馈”栏目),点击“开始生成”。

使用 {dede:arclist} 标签(常用于首页或其他页面调用)

{dede:arclist 更灵活,可以在任何模板页面(包括首页)中调用指定频道的内容。

<!-- 在首页模板 index.htm 中调用最新的5条留言 -->
<div class="latest-messages">
    <h2>最新留言</h2>
    <ul>
        {dede:arclist row='5' channelid='1' titlelen='30'}
        <li>
            <span class="name">[field:name/]</span> 说:
            <span class="content">[field:content function="cn_substr(@me, 100)"/]</span>...
            <span class="time">([field:pubdate function="MyDate('m-d',@me)"/])</span>
        </li>
        {/dede:arclist}
    </ul>
</div>

代码解释

  • channelid='1':这是最关键的参数!1 是你的自定义表单在后台内容频道管理中的ID,你必须在后台找到你的表单,记下它的ID,然后在这里填写,如果你不确定ID,可以查看后台URL,content_list.php?channelid=1 中的 1 就是ID。
  • row='5':表示调用5条记录,len='30'`:标题长度,对自定义表单可能不常用,但可以保留。
  • [field:content function="cn_substr(@me, 100)"/]:对多行文本内容进行截取,只显示前100个字符,避免页面过长。

总结与注意事项

  1. ID是关键:在调用数据时,无论是 {dede:list} 还是 {dede:arclist},都需要正确指定你的自定义表单的 频道ID字段名称
  2. 安全与审核:自定义表单默认没有验证码,容易被垃圾信息提交,建议在模板的表单中加入验证码代码,并在后台对提交的内容进行审核后再展示。
  3. 模板标签:牢记 [field:字段名/] 的用法,这是连接后台数据和前台模板的桥梁。
  4. 生成静态页:调用数据后,务必到后台“一键更新网站”生成对应的HTML页面,否则前台看不到更新后的内容。

通过以上步骤,你就可以在 DedeCMS 中完整地实现从创建表单、收集数据到展示数据的全过程。

-- 展开阅读全文 --
头像
dede更新文档没反应怎么办?
« 上一篇 02-28
搭建dede网站服务器需哪些配置?
下一篇 » 02-28

相关文章

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

目录[+]