摘要: Content handler定义了当content part有事件发生时响应特定的事件。比如当一个part激活时。content handler使你在content item生命周期的特定时候执行actions,也使你建立数据存储和优先操作data model呈现content item。通常,通过继承ContentHandler类来为content part定义handler。ContentHandler是基类提供的方法和属性当定义你自己的content handler时通常会需要,另一种定义自己的content handler的方法是创建实现IContentHandler接口的类。Def 阅读全文
posted @ 2012-03-22 21:51 commanderss 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Orchard中的data access与传统web程序不同,因为是通过代码建立data model而不是通过数据库管理系统。你在代码中定义你的数据属性,Orchard Framework建立持久化数据的数据库组件。如果你需要更改数据结构,你写具体更改的代码,这些更改被这段代码传播到数据库。这个代码中心的model包含抽象层,允许你在不同的内容类型中重用组件,并且添加或更改行为不会破坏其它layers。数据访问的主要概念:RecordsData migrationsContent handlersContent driversRecords一个record是为内容类型描述数据库架构的类,要创建 阅读全文
posted @ 2012-03-22 18:40 commanderss 阅读(444) 评论(0) 推荐(0) 编辑
摘要: manifest filesOrchard CMS中,模块和主题是扩展程序的重要工具。每个模块和主题都有一个manifest文本文件,叫module.txt 或 theme.txt,在模块和主题的根目录中。manifest存储了Orchard 用户描述模块和主题的元数据,像 版本号,描述,作者,标记等。如果创建一个自定义的模块或主题,或如果写一个访问模块或主题的代码,你必须理解manifest中的metadata fields,manifest中的data是键值对结构,Field Name:Value。Module Manifest Fields模块的manifest能有下面fields:Fi 阅读全文
posted @ 2012-03-22 17:16 commanderss 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 存在于Lists的一部分表或Lists中选择一部分是很常见的内容。例如:地址能通过预定义列表来选择国家或地区,这是一个1-n的关系。 一个n-n关系可能 例如是客户获得收益的商业清单。Orchard当然支持这些方案,本主题贯穿这些内容。Building a 1-N Relationship在这里我们要建立的模型存在于Address part,能附加到 例如一个Customer 内容类型。Address part有street address,a zip code,a city name and a state. state 就是我们将建立的1-n关系模型的states表。Modeling th 阅读全文
posted @ 2012-03-22 17:05 commanderss 阅读(943) 评论(1) 推荐(0) 编辑
摘要: Orchard中widget是一块可重用的UI,可用于网站任意页面。例如:一个widget可能包含了tag,search form,Twitter feed。Widget是一个内容类型,使用重用存在的代码和UI。Turning a Part into a Widget把content part加入widget,需要根据widget类型中的定义更新数据库。完成这件事,需要为part的 Migrations.cs文件添加一个UpdateFrom<version#> 方法。using System.Data;using Maps.Models;using Orchard. 阅读全文
posted @ 2012-03-22 10:21 commanderss 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 开发一个Orchard模块后,你可能想分享给其它人,Orhcard提供了模块打包的功能。需要先启用这个功能,命令行提供了打包和安装包的命令.(.nupkg)package create <extensionName> <path> Create a package for the extension <extensionName> (an extension being a module or a theme). The package will be output at the <path> specified. The default fil 阅读全文
posted @ 2012-03-22 10:06 commanderss 阅读(383) 评论(0) 推荐(0) 编辑
摘要: Objectives本文在Orchard中添加一个新field type,目标是有一个日期和时间编辑框,能加入到任何内容类型中,并且要很容易的选择一个日期或时间。Creating a Module通过命令行输入:codegen module CustomFields /IncludeInSolution:true编辑module.txt文件:Name: CustomFieldsAntiForgery: enabledAuthor: MeWebsite: http://orcharddatetimefield.codeplex.comVersion: 0.6.1OrchardVersion: 0 阅读全文
posted @ 2012-03-22 09:48 commanderss 阅读(637) 评论(0) 推荐(0) 编辑