2011-06-14 63 views
2

我正在原型化orchardproject.net cms。我创建了一个内容类型的“产品”。我创建了一个名为“便宜的产品列表”和一个名为“有趣的产品列表”的列表。这很好,直到我有一个产品需要在有趣和便宜的名单。如何将项添加到果园中的多元列表中?

我已经得到了这么远,没有任何自定义代码。我怀疑这个功能需要一些代码。但是我有点惊讶,有人没有把这个通用版本作为模块写出来。我很想自己写,但事实上没有其他人这样做让我停下来。是否有一个限制,使这个功能非常困难?

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

任何指导将不胜感激! Dan

回答

1

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

+0

这实际上正是我想要的。谢谢! – DanielEli 2011-06-16 04:02:10

1

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

看看Orchard.Core.ContainersOrchard.Lists,看看他们是如何实现的。例如,您可以创建自己的部分,允许将任意项目附加到不同的列表,并创建一个控制器来构建最终形状。

检查Orchard.Core.Containers.Controllers.ItemController - 那里发生了整个奇迹。相应容器的ID(您从选择列表中选择“添加到:”)被保存在CommonPart.Container.Id属性中,因此您可以按照该模式创建一个可以容纳Ids集合的部分,到你想要的内容类型,并在那个ItemController中完成渲染。

+0

这是一个很好的答案,但Bertrand的提示实际上正是我所期待的。 – DanielEli 2011-06-16 04:03:16

+0

对,我专注于列表/容器,忘记了那个很酷的Sebastien的模块 - 我的不好。 Bertrand创建了一个关于使用分类法的好视频教程:http://weblogs.asp.net/bleroy/archive/2011/05/17/using-taxonomies-in-orchard.aspx – 2011-06-16 12:12:42

相关问题