摘要: shape是一个动态数据模型。shape的目的使用动态shape能在运行时使用一个model更新并替换ASP.NET MVC的静态view model,你可以认为shape是在模板中显示一大块数据。本文介绍了shape的概念及解释如何使用。Introducing Shapesshape是一个动态数据模型,使用shape 模板为用户制造可见数据。shape模板是为呈现shapes的标记的片段。例如shapes包含menu.menu items,content items,documents,messages.一个shape是从Orchard.DisplayManagement.Shapes.Sh 阅读全文
posted @ 2012-03-23 14:43 commanderss 阅读(576) 评论(0) 推荐(0) 编辑
摘要: The placement.info File 大多数模块和主题都有一个placement.info文件,这是个xml文件,指定了content part中的part的位置。 下面展示了Orchard.Tags的placement.info文件:<Placement> <Place Parts_Tags_Edit="Content:7"/> <Match DisplayType="De... 阅读全文
posted @ 2012-03-23 10:49 commanderss 阅读(511) 评论(0) 推荐(0) 编辑
摘要: Where Themes Live主题必须放在网站/Themes/目录下。TheThemeMachineTheThemeMachine是Orchard的内建主题,你能通过这个主题来学习Orhcard的主题。TheThemeMachine被设计成整洁的、现代的并作为开发新主题的起始点。Anatomy of a ThemeManifest每个主题都必须有一个manifest,manifest是一个叫Theme.txt的文本文件,位于主题目录中,Name: The Theme MachineAuthor: jowall, mibach, loudej, heskewDescription: Orch 阅读全文
posted @ 2012-03-23 10:18 commanderss 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 主题定义了网站的外观。一个主题能重写任何模块提供的CSS,图片、布局、内容模板。另外,主题能包含重写了模块中的目标代码的代码。 本文展示了如何创建主题,打算介绍主题的开发并保持设计的简单。 开始之前你能根据已存在的父主题创建一个主题,Orchard提供一个简单使用的”TheThemeMacine“父主题。 Generating a New Theme 首先要启用Code Generation功能... 阅读全文
posted @ 2012-03-23 08:19 commanderss 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(404) 评论(0) 推荐(0) 编辑
摘要: Orchard中的data access与传统web程序不同,因为是通过代码建立data model而不是通过数据库管理系统。你在代码中定义你的数据属性,Orchard Framework建立持久化数据的数据库组件。如果你需要更改数据结构,你写具体更改的代码,这些更改被这段代码传播到数据库。这个代码中心的model包含抽象层,允许你在不同的内容类型中重用组件,并且添加或更改行为不会破坏其它layers。数据访问的主要概念:RecordsData migrationsContent handlersContent driversRecords一个record是为内容类型描述数据库架构的类,要创建 阅读全文
posted @ 2012-03-22 18:40 commanderss 阅读(447) 评论(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 阅读(953) 评论(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&lt;version#&gt; 方法。using System.Data;using Maps.Models;using Orchard. 阅读全文
posted @ 2012-03-22 10:21 commanderss 阅读(462) 评论(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 阅读(389) 评论(0) 推荐(0) 编辑