内容树项之间多对多关系的最佳实践?

时间:2010-02-17 23:11:05

标签: sitecore sitecore6

在我的内容树中,我有一个代表城市的内容项树。对于每一个我想要与一组...的逻辑连接...让我们说...国家公园在2小时车程距离内。因此,一个城市将拥有多个公园......每个公园都会有所不同......但当然公园也将与不止一个城市相关联。

什么样的物品和现场设置适用于这种情况?我将为这些项目创建一个自定义渲染器,所以我最关心的是Sitecore中应该如何看待它以最大限度地提高易用性和性能。

我正在使用Sitecore 6.2。

(来自SDN的交叉发布,请原谅我......但我想在StackOverflow上鼓励更多Sitecore社区)

3 个答案:

答案 0 :(得分:2)

对于这种关系,您需要以下结构:

主页

   Cities

       NY
       London
       Paris

   Parks

       Park1
       Park2
       Park3

“城市”模板应具有名为“公园”的多列表类型字段。这个领域的灵魂应该关注公园的根源(Home> Parks)。 “Park”模板具有名为“Cities”的Multilist字段的方式相同。该字段的来源应该是城市的根(Home> Cities)。

通过这种方式,您可以轻松地执行任何类型的请求。

希望这有帮助。

答案 1 :(得分:2)

如果连接必须是两种方式,你可以通过向save事件添加一些代码来实现。

假设我们有一个城市模板,其中包含一个名为“相关公园”的字段,以及一个带有“相关城市”字段的公园模板。

假设我们在“相关公园”字段中保存了一个带有两个公园的城市项目。在保存事件中,我们可以检索两个公园,并将当前保存的城市插入这些公园的“相关城市”字段中。

我不一定说这是最好的方法,只是另一种选择。

答案 2 :(得分:0)

你打算从公园到城市进行任何查找吗?例如,您是否需要说“找到与某个公园相关的所有城市”?或者只是“找到与某个城市相关的所有公园”?如果你需要在两个方向上进行查找,事情变得有点棘手,我可能会建议使用搜索索引。但是,如果您的查找仅在一个方向上,则可以使用树形图字段来将一个项目与其他项目进行关联。

根据您的描述,我不完全确定您是否确实需要使用多对多关系,或者您是否需要一对多路径?