orchard创建自定义内容类型

虽然orchard默认带有page和blog内容类型,我们可以通过后台非常容易的创建一个自定义类型(甚至扩展现有的定义内容类型)。内容类型功能在默认情况下是开启的,在我们创建自定义内容类型时,内容类型功能必须是开启的。我们可以在后台的管理功能界面上开启内容类型功能。

管理功能界面上开启内容类型功能

如果我们要创建一个内容类型,我们在后台控制面版中的内容定义(content definition)栏目下选择内容类型(content types)。

content types

在这个界面上,我们可以看到orchard系统当中可用的内容类型。注意,有一些内容类型有列表内容和可以编辑,而有一些内容类型仅仅只能编辑。

content types


如果我们点击“List Items"(列表项目),我们可以看到其对应的内容列表,就像在我们后台导航上的管理内容列表一样。

List Items

我们也可以编辑页面的定义类型,点击“编辑”这一类型。

编辑内容类型


orchard的内容类型是由字段和部件来组成的。一个字段是内型的一部分,例如,一个产品类型可能有SKU和price字段。然而,一个字段是一个可重用的组件,可以被附加到一个或多个类型上。

定义一个新的内容类型


现在我们来定义一个自定义内容类型。假如我们要定义一个名为"Event"的内容类型,包括有location和date字段。现在我们通过后台控制面版来添加一个新的内容类型。

内容类型的名称为“Event”,内容类型Id让它自动填充为"Event“。

内容类型的名称为“Event”

单击Add添加一个字段。

单击Add添加一个字段



目前orchard只包含一个字段类型(文本框),但是可以创建更多的orchard的扩展(例如,CheckBoxField EmailField,TextAreaField,DateTimeField,等等),和一些附加字段可在 Gallery > Modules下载。输入“Location"”字段的名称,并单击Save。

添加一个新的字段

添加字段


orchard字段

重复前面的二个步骤,继续添加第二个字段"Date"。

我们还可以添加公共的部件。

1.png

特定的字段我们需要在orchard当中进行激活。如果我们启用了"Indexing"功能,就会在字段处显示"Index this content type for search"。选择”Event“内容当中的“Location”字段,我们就可以在前台根据“Location”字段进行搜索。

orchard搜索


1.png

现在我们已经定义了自定义内容类型,这种类型的让我们创建一个新的项目。注意有一个“Create New Event”链接在“管理内容类型”。

Create New Event

在后台管理控制面版菜单上有一个新的“Event”菜单,点击“Event”就可以创建一个新的“Event”内容项。

控制面版菜单

我们可以看到我们定义的“Event”内容类型的所有字段和部件。它还显示一个标题,这是因为是TitlePart和Permalink是必须存在的。Location是我们添加的字段。Tags是来自于Tags部件,show on main menu选择项来自于Menu部件,comments来自于comments部件。现在我们就可以发布或者另存为草稿。 

“Event”内容类型的所有字段和部件

在后台的管理内容菜单里,我们就可以看到event内容类型里添加的内容。

event内容类型里添加的内容

在前台我们也可以看到我们添加的内容。

在前台我们也可以看到我们添加的内容

让我们尝试添加搜索功能。确保我们启用Indexing, Searcht 和 Lucene功能在Features里。现在访问搜索索引页面来查看可用的字段建立索引(Index)。您应该看到event-location字段在搜索索引(Index)里(如果不是,只有重建索引才能看到)。

orchard搜索索引

我们可以为搜索功能添加多个对应的搜索字段。

搜索功能

我们在前台输入一个关键词就可以搜索到相应的字段内容。

搜索到相应的字段内容

自定义内容类型的教程就讲完了。