2014-03-19 39 views
1

我被要求创建几个类似的内容类型,有些是相同的。如何在Orchard中模拟内容类型继承?

例如: 教程&视频教程,它们几乎相同,但视频教程具有视频ID。

另一个例子: How to Article,Overview Article等...他们都完全一样(现在无论如何),所以我想创建一个单一的文章类型,并基本上'继承'它不知何故。

我可以在不同类型之间创建'IS A'关系吗?

我在问错误的问题,我应该做一些不同的事情吗?

或者我应该复制&将AlterTypeDefinition()多次粘贴到我的迁移文件中?随着果园的丰富,我假设复制&粘贴类型不是它应该完成的方式。

回答

2

只需创建几种不同的内容类型,Orchard就可以重复使用您为不同内容类型创建的部分和字段。没有理由为什么你不能有一堆相似但略有不同的内容类型。

对于您的文章内容类型,因为它们是相同的,您是否考虑过使用分类来分类文章?因此,创建ArticleType的分类与您所有不同的文章类型:如何文章,概述文章等。创建文章内容类型并附加链接到ArticleType的分类学字段,所以当您创建文章时,会有一个可用文章类型的列表将该文章分类为。如果出现需要,可以轻松添加更多。

+0

我确实考虑过你的分类学理念,但觉得'是'关系可能会更好。你是这么做的吗?有了分类法? –

+0

是的,这是我以前做过的事,我不能想出任何方法来做'是'的关系。但我的意思是,如果您认为内容类型在未来可能会发生变化,那么只需创建单独的内容类型,它不应该提供更多的工作,或者更多的开销。 – Hazza

+2

果园的构建是围绕构图而非继承。在您的示例中,将您的内容类型之间的共同点隔离为一个常见的“Tutorial”内容部分。相同的文章:共同的属性进入公共部分。 –