二、创作网站 (三) Creating custom content types

Orchard默认包含了Page和Blog内容类型,在管理面板也可以很容易的创建一个自定义的内容类型(或扩展现有内容类型)。默认Content Types功能是启用的,必须启用这个功能才能创建自定义内容类型。

通过管理面板的 Content Types链接进行创建内容类型。

 

下面列出一些系统默认的内容类型.

点击 List Items 可以查看到系统中可用的这种内容项。

点击 Edit 链接用于定义这种类型。

内容类型由 fields和parts拼装起来。field 是具体的类型,如产品可以和名称和价格fields。part 是可附加到一个或多个类型的可复用组件,如Route part 给类型在前端通过路由/url地址被访问的能力,可以理解为part是由field拼装起来的类型。通过查看代码可以看得到。

定义新内容类型

下面定义一个自定义内容类型。假设现在定义 Event 类型,列出事件的location和date fields。在Manage Content Types面板,点击 Create new type

内容类型名称输入 Event,Id设置自动增加,

 

 

 

在 Event类型面板可以看到Location字段.

重复上面的步骤添加 Date 字段。

 

下面列出了Orchard中可用的 parts。我们的 Event 类型,我们想要它能发表评论(comments part),能加标签(tag part),在前端通过URL/route 访问(route part),把 Event 加入到主菜单(menu part),能立即、计划、存为草稿稍后发布这个 event。同样添加 common part以便你的items能出现在content items列表中。

Types,fields,parts 同样能被设置。Orchard中可作用于field,part已激活的功能的可以具体设置。如果我们启用了 indexing功能,将会有 Index this content type for search" and on each field, a setting to "Include in the index" 设置。选择event类型的location的选项,在前端将使访问者能通过搜索location进行访问。

现在我们定义了自定义的内容类型,下面创建一个这种类型的新实例。在 Manage content types 面板 create a new event。

 

然后在管理菜单面板 new  项下将会有名为 event的项,点击可以创建一个新的event 内容。

能看到event 类型的编辑页中有所有我们定义的所有fields和parts。

在管理面板的manage content面板中,能列出网站的的event类型的内容条目。

 

在网站前端可以看到event已经添加到了主菜单中,通过这个链接能查看到所有的field和parts内容。

可能还要自定义event的显示方式及模板。

试一个搜索我们的内容类型的功能。首先要确保已启用 indexing,search,Lucence功能 。访问Search index页面,可用的fields已经被索引了。应该看到了event-location field出现在索引中。(如果没有看到需要rebuild一下)

我们在Setting管理面板添加这个field到搜索设置中,用于查询这个field的功能。

在前端输入一个event location的关键字

 

 

将搜索到这个内容。

posted @ 2012-03-20 09:36  commanderss  阅读(630)  评论(0编辑  收藏  举报