本文链接: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地址可以被网站收集、保存并导出。自定义表单同时用于实现联系我们这样的页面也是很不错的方法,或者用于实现收集用户各种各样信息的功能。