五、扩展Orchard(一) First Steps into Orchard

Looking at Orchard as...

介绍Orchard基本知识的最好方式是用户的角色访问时所看到的:Normal user(aka reader/visitor/guest),administrator,designer and developer.

 

User

对于用户,Orchard看上去就是一个网站。

 

Administrator

administrator有权访问网站的几个更多方面:

  1. 安装时,他能看到安装页面。
  2. 做为用户同样能看到前端
  3. 能打开控制面板,配置网站和编辑内容
  4. 能使用命令行

Designer

designer能修改网站的外观。他能编辑存在主题的设置或新建主题。一个主题包含了网站显示的所有东西。有时也叫 skin 或 template. 它转换content到html并在浏览器中显示出来。

 

Developer

developer对orchard架构有完全的理解并能扩展它。Orchard由模块组成。

  1. Extension module: 添加一些(low-level)feature用于增强网站。
  2. Content module: 添加查看和编辑内容类型需要的所有东西。
  3. Widget Module: 在存在的内容模块的一边添加小的可视内容。
  4. Theme module: 更改存在的内容模块的外观。
  5. All the above: 一个模块有很多扩展,content types,widgets,themes都在一个包中

Orchard被设计成高可扩展性,这意味着几乎任何与你交互的都能被扩展、替换 或禁用。Orchard自带了很多模块,但是designer 和 developer能更改他们或创建更多的。也可以在Orchard社区共享你的模块和安装其它人开发的模块。

 

Content

  1. Content:在网站前端显示的数据。
  2. Content type & Item: content type就像是动态类;它定义了一个指定内容类型的数据结构,这个结构可以修改。content item 是 content type的一个实例,所以,博客能是一个content type,你写的一篇博文就是一个 content item。
  3. Content part: 由于多个内容类型有共享许多方面,这些方面可以独立创建,并在每个内容类型中重用。如一篇博文能有评论,一个照片也能有评论,所以,替换创建两次评论的实现,我们能创建一个评论content part,然后重用它到两个内容类型中。
  4. Content field: 本着同样可重用性的精神,我们能有必须以某种方式工作的更小的类型。例如:多数内容类型需要日期、电话号码、email等等。自从它们不是简单的属性,因为我们可以附加一些行为,但他们也不是内容类型(too  “small”)。
  5. Record: 为了能保存 content type/part到数据库中,需要一个记录到”linked”,它是一个应该保存所有属性的类。例如:A Map part 必须保存坐标,所以它将会链接到有这两个属性的record,Orchard会装载和保存它。你不会处理records除非你自己开发的模块。但当你遇到它的情况下理解这个概念很有用。

注意内容类型只能有一个每种类型的content parts ,但是它能有很多同类型的fields。例如:一篇博文仅能有一个评论方面,它能有很多日期(创建日期、修改日期等)。

posted @ 2012-03-20 23:59  commanderss  阅读(770)  评论(0编辑  收藏  举报