随笔分类 -  Orchard

Orchard CMS
摘要:Core modulesCommon此模块定义了3个Part和一个Field,它们是Common Part, Body Part, Identity Part, and Text Field. Common Part: 定义了Content Item创建、发布、修改的时间及所有者IDBody Part: 定义了富文本编辑器,可以通过设置来选择使用哪种编辑器,默认是html编辑器TinymceIdentity Part: 是一个GUID标识,使用这个part是为了使用Import/Export Widget Item,通常在定义Widget时都会加上这个Part.Text Field: 就是一文 阅读全文
posted @ 2012-07-24 14:50 commanderss 阅读(1286) 评论(0) 推荐(0)
摘要:Introduction做为可组装的CMS,Orchard能在运行时装载一组随意的模块.Orchard像任何ASP.NET MVC程序一样,支持使用VS将模块编译成程序集,Orchard也提供一个定制模块装载策略,例如:允许装载关于模块的程序集(不用部署到bin文件夹).除此之外,Orchard支持仅部署源代码的模块的动态编译,这比部署二进制文件更具灵活性,使一些有趣的场景,如”in place"不用使用VS进行代码定制,这有点像ASP.NET App_Code目录,除了Orchard独立地支持多”logical folder”(通常每个模块一个).High Level Overvi 阅读全文
posted @ 2012-03-26 11:20 commanderss 阅读(676) 评论(1) 推荐(2)
摘要:DefinitionsCamel case首字母小写,词之间不加任何分隔字符,词的首字母大写Pascal case 每个词的首字母大写,词之间不加任何分隔字符C# Coding ConventionsC#编码约定文档:C# Coding Guidelines,下面的例外:开括号与语句块开始在同一行,前面多一个空格(这与javascript一致),又名K&R约定私有字段使用下划线”_"前缀,并采用camel-casedusing指字在namespace之前出现,不是在它里面JavaScript Coding ConventionsNamespaces are Pascal-cased. 阅读全文
posted @ 2012-03-25 18:04 commanderss 阅读(373) 评论(0) 推荐(0)
摘要:本文列举了Orchard项目中的依赖,和Orchard使用它们的简介.依赖的副本在源码库的lib目录中,包含了它们各自的licenses,也能在CREDITS.txt文件中看到它们的归属.Akismet这是Orchard中的默认的垃圾保护服务.ANTLR v3这是语言识别工具,提供了构造识别器的框架,解释程序,编译器和从 在多种目标语言中语法描述包含的行为的翻译器.ASP.NET MVC 3作为web程序模型Autofac 2 & Autofac contrib内部大量使用了依赖注入,主要关于Ochard.Web host和Orchard packages.之间发布和consuming 阅读全文
posted @ 2012-03-25 16:22 commanderss 阅读(504) 评论(0) 推荐(0)
摘要:Modules是一个VS目录,包含Orchard模块,所有Orchard模块都是ASP.NET MVC WEB程序项目.Modules\LuceneLucene模块能使用Lucene.NET索引网站,这个模块使用搜索模块产生索引,为网站提供一个集成的全文本搜索体验.Modules\Orchard.ArchiveLater这个模块支持计划存档功能.Modules\Orchard.Blogs这个模块是博客模块.Modules\Orchard.CodeGeneration是创建Orchard组件的工具,能从命令行启动这个工具.Modules\Orchard.Comments评论模块在内容中管理和呈现 阅读全文
posted @ 2012-03-25 16:00 commanderss 阅读(572) 评论(0) 推荐(0)
摘要:Enlisting in the Source Code Using Mercurial and TortoiseHg Orchard项目托管在Codeplex上,能使用Mercurial客户端访问,本文介绍了如何设置你的开发环境。 如果你不是Orchard项目的开发者,你能下载源码,编译和使用它,但不能提交补丁。 当使用一个分布式式源码控制系统如Mercurial时,理解Codeplex仓库上的... 阅读全文
posted @ 2012-03-25 12:00 commanderss 阅读(439) 评论(0) 推荐(0)
摘要:What are the dependencies? Orchard使用了大量外部库,可以在\lib目录中找到。 What framework versions does Orchard support? Orchard当前支持.net 4.0, What types of extensions can I write? Orchard的模块和主题支持扩展,模块和主题的APIs正在进步,尽管能建立... 阅读全文
posted @ 2012-03-25 11:38 commanderss 阅读(738) 评论(0) 推荐(0)
摘要:Orchard提供了设计师工具叫Shape Tracing,能使你定制网站的外观。Getting Started with Shape Tracing首先要启用Shape Tracing功能,这个功能在Designer Tools模块中。Shape Information当Shape Tracing frame展开时,你能拖动鼠标页面的一部分上,这部分会高亮显示,点击高亮的部分显示关于shape如何呈现的信息。frame的左边显示选择的shape,也在导航树中高亮你选择的shape右边显示的信息是关于选择的shape和使你选择要显示的什么类型的信息。Shape Tracing 面板显示下面的信 阅读全文
posted @ 2012-03-23 18:06 commanderss 阅读(446) 评论(0) 推荐(0)
摘要:本文介绍了推荐的编码、HMTL标记格式、CSS,有助于你的主题的组织。 General Guidelines Browser Testing 应该在下面浏览器中都进行测试。 Microsoft Internet Explorer Google Chrome Mozilla Firefox Apple Safari Opera File Names 包含文件使用下划线做为前缀 .csht... 阅读全文
posted @ 2012-03-23 17:38 commanderss 阅读(364) 评论(0) 推荐(0)
摘要:Orchard提供了打包功能你你能分享你的主题,该功能创建一个.nupkg格式的zip文件。 Viewing the Packaging Modules 首先要启用Packaging模块。 Packaging Your Theme 使用命令行工具打包:package create MyFirstTheme C:\Temp打包功能创建一个下面格式命名的文件:Orchard.Theme.<name... 阅读全文
posted @ 2012-03-23 17:11 commanderss 阅读(384) 评论(0) 推荐(0)
摘要:Orchard使用templates和shapes建立views,模板是类拟于ASP.NET MVC的部分views的概念,它们为在页面中呈现shape数据提供了基本的结构,一个模板能包含网页内容 如HTML标签、CSS、JAVASRITP,辅助呈现shape数据。另外,模板能包含服务端代码块因此你能在网页中访问和呈现shape数据。Shapes是表示内容结构的动态的数据模型,如menus,menu items,content items,documents,messages.Shapes为动态views提供数据(相对于MVC中的静态ASP.NET VIEWS),shape模板在运行时呈现。视 阅读全文
posted @ 2012-03-23 16:59 commanderss 阅读(597) 评论(0) 推荐(0)
摘要:Alternates是shape选项的变种,在特殊情况下为了你能在主题中实现定制呈现shape,使用Alternates,你能基于内容的类型重写用于呈现内容的模板。例如:你能使用alternates为主页应用一个layout文件,为subpages应用另一个layout文件,或者你能当tags在page中时用alternates以一种方式呈现tags,在blog post中时用另外一种方式呈现。Orchard framework使用一个命名约定决定是否用一个模板呈现内容。命名约定使你添加文件能自动地使用,不需要修改任何代码。Naming Convention for AlternatesAlt 阅读全文
posted @ 2012-03-23 16:16 commanderss 阅读(657) 评论(0) 推荐(0)
摘要: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 阅读(587) 评论(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 阅读(536) 评论(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 阅读(553) 评论(0) 推荐(0)
摘要:主题定义了网站的外观。一个主题能重写任何模块提供的CSS,图片、布局、内容模板。另外,主题能包含重写了模块中的目标代码的代码。 本文展示了如何创建主题,打算介绍主题的开发并保持设计的简单。 开始之前你能根据已存在的父主题创建一个主题,Orchard提供一个简单使用的”TheThemeMacine“父主题。 Generating a New Theme 首先要启用Code Generation功能... 阅读全文
posted @ 2012-03-23 08:19 commanderss 阅读(582) 评论(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 阅读(413) 评论(0) 推荐(0)
摘要:Orchard中的data access与传统web程序不同,因为是通过代码建立data model而不是通过数据库管理系统。你在代码中定义你的数据属性,Orchard Framework建立持久化数据的数据库组件。如果你需要更改数据结构,你写具体更改的代码,这些更改被这段代码传播到数据库。这个代码中心的model包含抽象层,允许你在不同的内容类型中重用组件,并且添加或更改行为不会破坏其它layers。数据访问的主要概念:RecordsData migrationsContent handlersContent driversRecords一个record是为内容类型描述数据库架构的类,要创建 阅读全文
posted @ 2012-03-22 18:40 commanderss 阅读(482) 评论(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 阅读(490) 评论(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 阅读(994) 评论(1) 推荐(0)