嗨,我们正在研究 Orchard 并且在试图弄清楚我们应该如何在 Orchard 中构建我们的类型时遇到了一些麻烦,我们可以一起解决这个问题,但我们发现弄清楚“Orchard 方式”会是什么拯救了我们时间(比如使用 CustomForms 模块从我们的一组部件中快速制作表单:))
最大的部分是“什么时候应该是内容类型或非内容记录?”
让我们感到困惑的例子是,当我们试图从记录中引用 contentType 时(我知道我们可以使用 ContentManager.Get 来完成此操作,并将 contentType 项的 Id 传入)。
这是一个更容易解释我们正在尝试做的图表:http: //i.imgur.com/u9GQXko.jpg
这个想法是允许用户注册课程的人员列表。
我们认为,对于 Nominee、Course Attendance、Course Instance 等内容,我们可以将它们作为非内容项,因为它们不是直接创建的,RegisterAttendees 背后的控制器会这样做。
但是 Nominee 具有与 CompanyDetailsPart + PersonalDetailsPart + ContactDetailsPart 完全相同的字段,因此我们希望重用这些部分 + UI 来表示 Nominee(我们在多个地方使用这些部分)。这是否意味着被提名人必须是 ContentType 才能使用或部件?
我认为我们将所有内容表示为 ContentItem 的问题是我们需要使用 ContentPickerPart 来表示关系,这很好,但让我们问这个问题:
如果我显示 Nominee(其中包含包含字符串字段和 ContentPickerPart 的自定义部分,它会自动显示 ContentPickerUI,我们可以防止这种情况发生吗?如果在 Nominee 视图中我们想要对 PersonalDetailsPart 进行验证但不是用在别的地方?
我知道这有很多问题要问,我们正在阅读和观看很多精彩的内容,我认为如果有一个可谷歌形式的答案,它将帮助其他人快速了解如何在 Orchard 中进行布局.