Orchard创建自定义表单
本文链接:http://www.cnblogs.com/souther/p/4520130.html
自定义表单模块可以用来获取网站前台用户的信息。自定义表单需要与一个内容类型结合使用。它可以用来创建“联系我们”以及“订阅”之间称为关联的的部件/页面 。该信息被储存在Orchard中并可以导出。
开启自定义表单模块
自定义表单模块与一个内容类型结合使用,以获取前台的输入信息。这种信息被提交后可以存储也可以使用导入导出模块(Import-Export-Module)导出。接下来让我们通过Orchard提供的管理菜单中的模块选项来开启自定义模块。
(译者:上述界面打开后有很多,大家通过Filter中输入Cu搜索下可以直接看到Custom Forms)
一旦开启这个模块,在管理界面下,左侧的导航列表中就会看到Forms的链接。
如上所述,为了在网站前台创建可提交的表单,自定义表单模块需要结合一个内容类型来工作。在管理界面的Forms选项中,如果你点了Add a new Custom Form(添加新表单) ,那么在弹出的页面上我们会看到内容类型的下拉列表,它显示了此CMS当前所有内容类型。举个例子,比如说我们想要添加一个显示在右侧框框内的新部件(二逼区域内),它的作用是让访客输入他们的邮件地址,那么这个仅有输入框将只能获取到用户的邮件地址。
对于这段译者自己配了相关的图如下(写官方文档的人也忒懒了)。
创建一个新的内容类型
在Orchard中我们如果想要创建一个能获取用户邮件地址的自定义表单,我们需要创建新的内容类型。在管理界面,点击左侧的Content Definition(译者加的,怕你们的找不见),再点Content Types(内容类型)并选择右上角的Create new type(注:内容类型在版本<1.6是在内容区域中,>=1.7以后就是选择Content Definition即可),我们给新类型起个名字就叫“Subscribe Form”吧。
输入之后点击创建,会跳转到一个页面,在这个页面中让我们选择给这个内容类型添加其它功能,(译者:有哪些功能,下图大家看看,挺全的,Orchard中所有的东西都对象实例化的,我们创建的这个内容类型也一样,所以它会有很多属性,你可以选择上,也可以不选,根据你创建的实际部件的作用来确定,每个功能的作用,在后续章节中有提到),
下图是译者添加的,关于内容类型还有哪些东西可以选择添加,有很多,截图没截完
因为我们这里是获取用户的邮件地址,所以我们就不选其它的了,记得保存,现在我们为新创建的类型添加一个文本类型的字段用以输入EMAIL。
在添加并保存了名称是“Email”的输入字段后,我们现在就能设置它的验证类型了,显然这个字段应该选择输入类型为Email。剩下的其它信息就由你随意发挥吧。
总结一下,上边这段我们了解了创建出新部件所需要的所有内容,包括开启自定义表单,创建用于获取访客邮件地址的内容类型。接下来我们来创建部件。
创建一个自定义表彰部件
选择左侧的Widgets选项进入部件管理界面,找到二逼区域(AsideSecond zone)点击右边的Add按钮添加一个自定义部件,然后点击自定义表彰组件。(译者:官方的插件与上一张重复了,我给删了).
下面给我们新创建的部件调整下设置。例如,Layer(层)调成“Default”,位置调成1.这样做能使AsideSecond Zone始终保持在所有页面的最上层。还有一些其它设置见下图:
保存后,我们可以找个页面看看效果!
注意:如果你(所有者,Owner)不想看到这个框框,可以到Subcribe Form内容类型的常规设置部分去掉“Show editor for owner”前边的勾即可。
查看提交的自定义表彰数据
前边我们开启了自定义表单模块,创建了自定义表单的一个新内容类型,而且添加了一个自定义部件来在所有页面的右侧区域(AsideSecond zone)来提取Subscribe Form的内容类型。由于自定义表单部件的“'Save the item once the form is submitted”被选中,所以提交会被保存在Orchard中。那么这些东西被保存在哪了?在CMS中有两种方式查看提交结果。第一种方式是选择左侧导航中的“Forms”链接查看。
导出自定义表单数据
还有件事就是导出提交结果,以便email地址用于其它像出版、竞选、邮件推广等类似服务。最简单的办法就是通过导入导出模块导出CMS的所有东西。在1.6版本中导入导出模块是默认就有的,只是没有开启而已。接下来我们打开该功能。
这时候,在左侧的导航列表中就可以看到有了“导入/导出”。点击进去之后,选择导出,可以看到所有可选择的内容类型。要导出所有提交过的email地址,需要选中Subscribe Form复选框。下边有几个导出选项。第一个选项Metadata,包含此内容类型的定义。利用此选项可以很容易实现将一个内容类型从一个CMS复制到另一个。这个功能的最常用于从开发的网站将一个新的内容类型和数据移到发布的网站上。当导入的XML文件包含元数据与数据时,Orchard会创建包含此内容类型数据的复本。
当然,我们这里只对导出感兴趣,所以不用选中Metadata。同时,请确定选中“Only Draft”,因为如果没有前端提交的数据的话,会有发布状态。(译者:也就是如果没有人提交的email地址,也会告诉现在啥情况,比如没有数据。)
导出的文件是一个XML文件,可以用Excel打开操作,使得它能用于你所选择的email竞选平台。就是说,访客的email地址可以被网站收集、保存并导出。自定义表单同时用于实现联系我们这样的页面也是很不错的方法,或者用于实现收集用户各种各样信息的功能。
Orchard创建自定义表单的更多相关文章
- Angular19 自定义表单控件
1 需求 当开发者需要一个特定的表单控件时就需要自己开发一个和默认提供的表单控件用法相似的控件来作为表单控件:自定义的表单控件必须考虑模型和视图之间的数据怎么进行交互 2 官方文档 -> 点击前 ...
- activiti自定义流程之整合(三):整合自定义表单创建模型
本来在创建了表单之后应该是表单列表和预览功能,但是我看了看整合的代码,和之前没有用angularjs的基本没有什么变化,一些极小的变动也只是基于angularjs的语法,因此完全可以参考之前说些的表单 ...
- activiti自定义流程之自定义表单(二):创建表单
注:环境配置:activiti自定义流程之自定义表单(一):环境配置 在上一节自定义表单环境搭建好以后,我就正式开始尝试自己创建表单,在后台的处理就比较常规,主要是针对ueditor插件的功能在前端进 ...
- 用dedecms自定义表单创建简易自助预约系统
建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击“核心” - 频道 ...
- 【.net+jquery】绘制自定义表单(含源码)
前言 两年前在力控的时候就想做一个类似的功能,当时思路大家都讨论好了,诸多原因最终还是夭折了.没想到两年多后再这有重新提出要写一个绘制表单的功能.对此也是有点小激动呢?总共用时8.5天的时间基本功能也 ...
- activiti自定义流程之整合(四):整合自定义表单部署流程定义
综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之 ...
- activiti自定义流程之自定义表单(三):表单列表及预览和删除
注:(1)环境配置:activiti自定义流程之自定义表单(一):环境配置 (2)创建表单:activiti自定义流程之自定义表单(二):创建表单 自定义表单创建成功,要拿到activiti中使用,自 ...
- ZKEACMS 自定义表单的使用
ZKEACMS Core 2.2 已经发布了,其中主要添加了自定义表单的功能.使用自定义表单的功能,您可以在几分钟内就创建一个表单,并用它来收集一些信息.导出收集的信息,就可以做一些统计分析. 创建表 ...
- angular 响应式自定义表单控件—注册头像实例
1. 组件继承ControlValueAccessor,ControlValueAccessor接口需要实现三个必选方法 writeValue() 用于向元素中写入值,获取表单的元素的元素值 regi ...
随机推荐
- CSS纯样式实现箭头、对话框等形状
在使用第三方框架bootstrap的时候,本以为其是图片实现的小箭头,后来使用开发工具查看是用CSS来实现的,现记录如下: 之前都没仔细去观注过其原理,都是拿来使用,在实现小箭头之前需要了解下CSS的 ...
- windows7+eclipse+hadoop2.5.2环境配置
windows7+eclipse+hadoop2.5.2环境配置 一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www. ...
- 17110 Divisible(basic)
17110 Divisible 时间限制:1000MS 内存限制:65535K 题型: 编程题 语言: 无限制 Description Given n + m integers, I1,I2,. ...
- 升级了win10后开启wifi热点出现iphone&macbook连接断线的问题(win7也一样)
升级了win10后开启wifi热点出现iphone&macbook连接 不间断 断线的问题 文后附上开启虚拟wifi的办法 百度参考了别人也出现这种问题,解决办法是修改信道,默认信道是11,修 ...
- POJ 3304 Segments --枚举,几何
题意: 给n条线段,问有没有一条直线,是每条线段到这条直线上的投影有一个公共点. 解法: 有公共点说明有一条这条直线的垂线过所有线段,要找一条直线过所有线段,等价于从所有线段中任选两端点形成的直线存在 ...
- android机型排行榜(201509)
http://forum.techweb.com.cn/thread-1352272-1-1.html
- 啊D工具语句 适合Access和Mssql注入
啊D注入工具中使用的SQL注入语句 爆user )) )= | ***** ?Id)) : ?Id : Id 检查SA权限:)))) 爆当前库: )) -- 检查是否为mssql数据库:and exi ...
- RecyclerView (一) 基础知识
RecyclerView是什么? RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式.它被作为ListView和GridView控件的继承者,在最新的suppor ...
- SpringMVC 初始化网站静态信息
在网站开发中,一些元素经常被访问,例如 网页头部URL导航 的信息,以及Boot版权的信息,在各个页面都是重复出现的 如果每次渲染View都要通过Service层访问数据库 比较麻烦 也没有必要,但是 ...
- jenkins配置记录(1)--添加用户权限
前一阵子在线上部署了一套jenkins环境,作为线上代码发布平台使用.部署记录:http://www.cnblogs.com/kevingrace/p/5651427.html 下面重点记录下jenk ...