惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AWS News Blog
AWS News Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
T
The Blog of Author Tim Ferriss
L
LangChain Blog
Vercel News
Vercel News
N
Netflix TechBlog - Medium
Hacker News - Newest:
Hacker News - Newest: "LLM"
Spread Privacy
Spread Privacy
小众软件
小众软件
H
Help Net Security
The Last Watchdog
The Last Watchdog
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Heimdal Security Blog
GbyAI
GbyAI
P
Privacy International News Feed
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Cloudflare Blog
爱范儿
爱范儿
V
V2EX
The Register - Security
The Register - Security
B
Blog RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
O
OpenAI News
Cisco Talos Blog
Cisco Talos Blog
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
L
LINUX DO - 最新话题
Recorded Future
Recorded Future
P
Proofpoint News Feed
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
Latest news
Latest news
Project Zero
Project Zero
月光博客
月光博客
F
Fortinet All Blogs
A
Arctic Wolf
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
N
News and Events Feed by Topic

博客园 - 飞翔的天空

sp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure 的解决办法 aspnet zero Swagger 不出现Authorize按钮的解决办法 Js获取当前日期时间及其它操作 js阿拉伯数字转中文大写 php学习点滴 excel合并单元格内容 EXCEL公式以指定分隔符从右往左截取字符 drupal学习FAQ drupal模块简介 js中三目运算及readonly的解决办法 Zxing中文乱码的简单解决办法 easyUI MVC3一些注意的东东(4) orchard模块编写的错误及其解决办法 orchard文档之-orchard工作原理 orchard文档之-搜索和索引 orchard文档之-更新站点到新的orchard版本 准备把orchard的自己认为重要的文档翻译一遍 orchard文档之-理解内容处理器 orchard文档之-理解数据访问
orchard文档之-创建自定义表单
飞翔的天空 · 2013-06-04 · via 博客园 - 飞翔的天空

 自定义表单(Custom Forms) 模块用来在前台收集网站访问者的信息,自定义表单与一个内容类型组合起来工作,自定义表单可以用来创建联系我们和订阅等页面或部件. 信息存储在orchard中,可以在以后导出。

启用自定义表单模块

自定义表单模块与一种内容类型组合起来在前端收集用户输入。提交的信息被存储起来用导入-导出模块(Import-Export-Module)导出. 让我们从管理菜单的模块部分启用自定义表单开始.

Enabling Custom Forms in Orchard CMS

一旦模块启用了模块,在导航栏的左边会出现一个新的"Form"链接。如前所述,自定义表单的工作原理是在站点的前端创建一个与一种内容类型(Content Type)相关的提交表单

在admin的Form部分,如果“Add a new Custom Form”选定后,一个目前存在于CMS中默认的内容类型的下拉列表出现, a drop-down list in the next screen for the content types will show all of the default content types that exist currently in the CMS.然而,让我们看看在右边(AsideSecond zone)添加一个部件用来要求游客加入一个邮件列表。唯一的收集信息是用户的email地址

添加一个新内容类型

为了收集和保存用户的email地址,我们需要在orchard中创建一个新类型。在admin菜单中,找到"Content Type"标签,选择创"建新类型"按钮,把新类型命名为  'Subscribe Form'.

Subscribe Form content type

下一页询问你是否需要保持其它Part到新建的"Subscribe Form"内容类型,由于我们希望收集用户的email地址,不选择其它任何选项,按"保存"按钮。现在我们有了一个新的内容类型,我们想为email添加一个" input field"

Subscribe Form email field

在名称里输入 'Email',添加和保存“input field”后,我们可以自定义新的输入字段的验证规则,选择输入类型为Email.你也可以自由地选择其它输入类型。

Subscribe Form

这样,我们就有了在右边创建一个新的widget的所有材料。我们启用了自定义表单模块,创建了一个新的内容类型(Subscribe Form) 用来收集用户的email地址,剩下的就是创建一个部件(Widget).

创建一个自定义表单部件

在管理导航栏的左边选择 Widgets ,在AsideSecond 区域找到合适的 Add 按钮,添加自定义表单部件.

Add Widget to AsideSecond

剩下的事情就是调整我们新的自定义表单部件的设置了,在这个例子在,层( layer)设置为  'Default' ,位置设为 '1'.这样部件会在所有页面的右边的顶部显示。下面是本例的设置:

Custom Forms Widget

保存后浏览站点,检查新的特征。

Page view with new widget

备注: 如果输入字段显示出了作者,要移除的话在 Subscribe Form类型中的Common Part中不选 'Show editor for owner' . Common Part

查看提交的自定义表单数据

此时,我们启用了自定义表单,为自定义表单创建了一个新的内容类型,在所有页面的右边添加了一个自定义表单部件 。提交的信息因为我们选择了'Save the item once the form is submitted'而被保存下来了那么数据保存在哪?有两种方式查看提交的信息,第一是选择选择在"admin“菜单栏选择"Form"链接:

Custom Forms Admin Page

第二个是从内容类型中选择.如下图:

Subscribe Form Content Type

导出自定义表单数据

剩余的事情是导出提交的email地址,用来出版物,竞选监视,邮件分发等等。在orchard CMS中最容易的输出任何事情和所有事情的方法是使用  Import/Export 模块.  Import/Export 模块默认安装在1.6版本中,但默认没有开启。让我们启用 Import/Export 模块.

Import/Export module

Import/Export 功能现在在admin的导航栏可用了. 在 Import/Export 选项的顶部选择'Export'标签,出现所有可用的内容类型. 为了导出email列表,勾选 Subscribe Form 。在底部有一些导出设置选项,第一个选项元数据(Metadata), 会包含内容类型的定义.选择这个选项可用方便的从一个Orchard CMS站点copy内容到另外的orchard 站点。主要的例子是可以从一个开发站点迁移内容到生产站点。当导入一个包含了元数据与数据的xml文件时, Orchard 将创建内容类型拷入包含的数据。

在这个例子中,我们只对导出数据感兴趣,所以不需要勾选元数据选项。并且,确保选择了"Draft Only",因为前台输入的项目有发布状态。

Export the Subscribe Form content

导出的是XML文件,可以用 MS Excel 打开和编辑. 站点不仅能设计访问者的email地址,保存下来方便将来导出,自定义表单也是一个很好的实现联系我们或其它类型用来收集用户信息的工具。