- 创建自定义表单:在前台添加一个表单供用户填写和提交。
- 查看和管理结果:在后台查看用户提交的数据。
- 调用和展示结果:在前台页面展示用户提交的内容(做成一个留言板、案例展示等)。
下面我们一步步进行说明。

(图片来源网络,侵删)
第一步:创建自定义表单
这是基础操作,目的是让网站有一个可以收集用户信息的入口。
-
登录后台:使用管理员账号登录您的 DedeCMS 后台。
-
进入表单管理:在左侧菜单栏中,找到并点击 【核心】 -> 频道管理】。
-
创建新表单频道管理页面,点击右上角的 [增加顶级频道] 按钮。
(图片来源网络,侵删) -
填写表单信息:
- 频道名称:给你的表单起一个名字,在线留言”、“报名申请”、“产品询价”等,这个名字会在后台列表中显示。
- 频道目录:英文名称,用于生成静态文件的目录,建议使用英文或拼音,
message、baoming。 - 频道列表选项:
- 使频道列表支持调用:务必勾选此项,这是后续在前台调用数据的基础。
- 默认列表模板:可以暂时留空,后面我们再创建。
- 发布栏目:选择一个栏目来存放这些表单数据,通常可以新建一个专门的“留言反馈”栏目来存放。
- 其他选项:可以根据需要设置,比如是否允许匿名投稿等。
-
提交并添加字段:点击“确定”保存,创建成功后,系统会提示你“是否添加字段?”,点击 [是]。
-
添加表单字段:这是最关键的一步,决定了你的表单里有什么输入框。
- 字段名称:英文,如
name,tel,content。 - 字段别名:中文,如“姓名”、“电话”、“留言内容”,这个别名会在后台显示。
- 字段类型:根据你的需求选择,如:
单行文本:用于姓名、电话、邮箱等。多行文本:用于留言内容、详细说明等。下拉菜单:用于性别、学历、意向产品等固定选项。单选按钮/复选框:用于多选或单选。时间:用于提交时间等。
- 字段值:如果是下拉菜单或单选/复选框,在这里填写选项,用 分隔,
男|女。 - 是否必填:勾选后,用户提交时此字段为空将无法提交。
- 默认值:可以设置一个默认显示的值。
- 数据:可以关联到其他数据,普通表单一般不用。
- 显示方式:保持默认的
input即可。
添加完所有需要的字段后,点击“保存”即可。
(图片来源网络,侵删) - 字段名称:英文,如
前台效果:你可以使用 {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 属性必须和你后台添加的字段名称(英文)完全一致。
第二步:查看和管理表单结果
用户提交表单后,你可以在后台查看和管理这些数据。
- 进入结果管理:在后台左侧菜单,找到 【核心】 -> 频道管理】。
- 选择你的表单:在列表中找到你刚才创建的表单(在线留言”),点击其右侧的 [管理文档] 链接。
- 查看提交记录:
- 进入后,你会看到所有用户提交的记录列表。
- 每条记录都显示了你在后台设置的字段内容。
- 状态栏通常为“待审核”,你可以点击“审核”按钮将其通过,或者“删除”将其移除。
- 你可以在这里直接编辑、删除用户提交的数据。
第三步:调用和展示表单结果(重点)
这是最常用也最灵活的一步,目的是将后台收集的数据展示给网站的其他访客,比如做一个“客户留言墙”或“成功案例展示”。
这里我们使用 DedeCMS 最强大的标签 {dede:arclist} 和 {dede:list}。
使用 {dede:list} 标签(推荐用于列表页)
{dede:list} 通常用于频道首页或列表页,分页显示内容。
- 创建模板文件:在
/templets/yourtemplate/目录下创建一个新的模板文件,list_message.htm。 - 编写模板代码:在
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}:自动生成分页导航。
- 生成页面:
- 在后台,进入 【生成】 -> 【一键更新网站】。
- 选择“更新栏目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个字符,避免页面过长。
总结与注意事项
- ID是关键:在调用数据时,无论是
{dede:list}还是{dede:arclist},都需要正确指定你的自定义表单的 频道ID 和 字段名称。 - 安全与审核:自定义表单默认没有验证码,容易被垃圾信息提交,建议在模板的表单中加入验证码代码,并在后台对提交的内容进行审核后再展示。
- 模板标签:牢记
[field:字段名/]的用法,这是连接后台数据和前台模板的桥梁。 - 生成静态页:调用数据后,务必到后台“一键更新网站”生成对应的HTML页面,否则前台看不到更新后的内容。
通过以上步骤,你就可以在 DedeCMS 中完整地实现从创建表单、收集数据到展示数据的全过程。
