本文链接: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创建自定义表单的更多相关文章

  1. Angular19 自定义表单控件

    1 需求 当开发者需要一个特定的表单控件时就需要自己开发一个和默认提供的表单控件用法相似的控件来作为表单控件:自定义的表单控件必须考虑模型和视图之间的数据怎么进行交互 2 官方文档 -> 点击前 ...

  2. activiti自定义流程之整合(三):整合自定义表单创建模型

    本来在创建了表单之后应该是表单列表和预览功能,但是我看了看整合的代码,和之前没有用angularjs的基本没有什么变化,一些极小的变动也只是基于angularjs的语法,因此完全可以参考之前说些的表单 ...

  3. activiti自定义流程之自定义表单(二):创建表单

    注:环境配置:activiti自定义流程之自定义表单(一):环境配置 在上一节自定义表单环境搭建好以后,我就正式开始尝试自己创建表单,在后台的处理就比较常规,主要是针对ueditor插件的功能在前端进 ...

  4. 用dedecms自定义表单创建简易自助预约系统

    建站往往需要根据客户的需求来增加相应的功能,比如预约.平时用比较多的是织梦系统,那么如何用dedecms自定义表单创建简易自助预约系统呢? 进入dedecms后台,左侧菜单中依次点击“核心” - 频道 ...

  5. 【.net+jquery】绘制自定义表单(含源码)

    前言 两年前在力控的时候就想做一个类似的功能,当时思路大家都讨论好了,诸多原因最终还是夭折了.没想到两年多后再这有重新提出要写一个绘制表单的功能.对此也是有点小激动呢?总共用时8.5天的时间基本功能也 ...

  6. activiti自定义流程之整合(四):整合自定义表单部署流程定义

    综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之 ...

  7. activiti自定义流程之自定义表单(三):表单列表及预览和删除

    注:(1)环境配置:activiti自定义流程之自定义表单(一):环境配置 (2)创建表单:activiti自定义流程之自定义表单(二):创建表单 自定义表单创建成功,要拿到activiti中使用,自 ...

  8. ZKEACMS 自定义表单的使用

    ZKEACMS Core 2.2 已经发布了,其中主要添加了自定义表单的功能.使用自定义表单的功能,您可以在几分钟内就创建一个表单,并用它来收集一些信息.导出收集的信息,就可以做一些统计分析. 创建表 ...

  9. angular 响应式自定义表单控件—注册头像实例

    1. 组件继承ControlValueAccessor,ControlValueAccessor接口需要实现三个必选方法 writeValue() 用于向元素中写入值,获取表单的元素的元素值 regi ...

随机推荐

  1. Bootstrap(转)

    Bootstrap 随着互联网的不断成熟以及我们越来越多的用各种移动端的设备访问互联网,Web设计师和Web开发者的工作也变得越来越复杂. 十年前,一切都还简单得多.那个时候,大部分用户都是坐在桌子前 ...

  2. 问题解决——ShowWindow不显示窗口

    配合任务栏通知区域. //MFC对话框程序 void CXXXDlg::OnShowHideUi() { // TODO: 在此添加命令处理程序代码 m_bShown=!m_bShown; ShowW ...

  3. 如何在CALayer设置滤镜

    网上有很多关于CALayer中设置filtes属性的相关资料比如如何设置一个带滤镜的layer,代码如下: NSImage* image = [NSImage imageNamed:@"IM ...

  4. openssl c_rehash

    一.简介 c_rehash 为文件创建一个符号连接,并将此符号连接的名称设为文件的hash值,作用是让openssl在证书目录中能够找到证书. 二.语法 c_rehash [-old] [-h] [- ...

  5. ubuntu自带的gedit编辑器添加Markdown预览插件

    gedit安装Markdown Preview Ubuntu自带的gedit编辑器也是有很强大的功能的,且支持插件的安装.对于喜欢用Markdown的我来说,这当然是很好的了,gedit本身 就支持M ...

  6. sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全 .

    企业版DVD SQL Server 2005 Enterprise Edition(支持超大型企业) 32 位DVD: ed2k://|file|cs_sql_2005_ent_x86_dvd.iso ...

  7. C# 遍历枚举类

    framework 4.0 环境下 方法 定义枚举类 判断枚举类中是否存在,若存在则输出 例子: Defined.QrCode.QrCodeType type;//枚举类 if (!Enum.TryP ...

  8. 查看Ubuntu版本

    一.查看Ubuntu版本号 方法一 root@wiki:~# cat /etc/issue Ubuntu 14.04.1 LTS \n \l 方法二 root@wiki:~# sudo lsb_rel ...

  9. Java性能调优笔记

    Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...

  10. 软件工程实训项目案例--Android移动应用开发

    实训过程 角色分工 1.项目经理:负责项目的组织实施,制定项目计划,并进行跟踪管理 2.开发人员:对项目经理及项目负责 3.需求分析员:负责系统的需求获取和分析,并协助设计人员进行系统设计 4.系统设 ...