如何将项添加到果园中的多个列表?

时间:2011-06-14 16:35:23

标签: .net asp.net asp.net-mvc asp.net-mvc-3 orchardcms

我正在为orchardproject.net cms进行原型设计。我创建了一种内容类型的“产品”。我创建了一个名为“廉价产品列表”的列表和一个列表调用“有趣的产品列表”。这很有效,直到我的产品需要有趣且便宜的列表。

我已经没有任何自定义代码了。我怀疑这个功能需要一些代码。但我有点惊讶,有人没有把这个的通用版本写成模块。我很想自己写,但没有其他人这样做的事实让我停下来。是否存在使此功能非常困难的约束?

在尝试编写通用的示例之前,我是否应该使用果园网站上的一对多示例编写特定的实现?

任何指导将不胜感激! 丹

2 个答案:

答案 0 :(得分:1)

默认情况下,Orchard允许将单个内容项分配给单个列表,但您可以自由创建自己的实现。它看起来并不难实现。这种功能不存在的事实是因为团队最近专注于更重要的事情(如表现)。

查看 Orchard.Core.Containers Orchard.Lists ,了解它们的实施方式。例如,您可以创建自己的部件,允许将任意项目附加到不同的列表,并创建一个可构建最终形状的控制器。

检查 Orchard.Core.Containers.Controllers.ItemController - 整个魔术都会发生。相应容器的ID(您从选择列表中选择“添加到:”)保存在CommonPart.Container.Id属性中,因此您可以按照此模式创建一个包含集合的部件对于Ids,将其附加到您想要的内容类型,并完全像在ItemController中一样进行渲染。

答案 1 :(得分:1)

您应该考虑在该方案中使用分类法而不是列表。便宜和有趣应该是分类术语,而不是容器。 无需代码。