Sitecore相对多列表

时间:2014-07-29 04:00:58

标签: sitecore sitecore6

在Sitecore中,我有一个名为Models的文件夹,一个名为Products的文件夹和一个名为Years的文件夹,位于我的home项下。在模型中,我有一个产品列表。模型有一个多列表,指向Years项目作为其数据源。产品有一个多列表,指向模型作为数据源。我还需要向Products提供指向年份的乘数,但这些日期只能是可用于其所选模型的日期。我需要的东西几乎可以看多列表作为数据源选择的多列表项。我不确定这是否可以开箱即用。我想要这样做而不是嵌套这三个文件夹的原因是为了避免重复内容,但我不确定我是否可以解决这个问题。

2 个答案:

答案 0 :(得分:1)

我不知道开箱即用的方法。但我可以想到一种方法,您可以扩展Multilist并将其添加为自定义字段。然后覆盖source属性并操作set上的值。

这是一个允许相对查询的示例: http://sdn.sitecore.net/Scrapbook/Custom%20TreeList%20that%20supports%20query.aspx

您需要通过从相应字段获取值(使用ItemID属性加载当前项)来了解所选模型,并且一旦有了这些模型,就可以将源设置为years根文件夹并使用数据源用于排除您不需要的参数。

以下是关于您对数据源有哪些选项的好帖子: http://getfishtank.ca/blog/treelist-data-source-hidden-functionality

这样做的缺点是您需要在自定义树知道所选模型之前保存该项目。另一个缺点是您可能必须验证选定年份,因为如果您在所选模型中进行更改,则所选年份可能无效。

答案 1 :(得分:1)

不要认为有一个类似于你描述的级联字段的开箱即用选项。您可能需要自定义字段。以下是有关如何在Sitecore中创建自定义字段的完整文档 http://sdn.sitecore.net/Articles/API/Creating%20a%20Composite%20Custom%20Field.aspx