代码之家  ›  专栏  ›  技术社区  ›  Bryan

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

  •  1
  • Bryan  · 技术社区  · 14 年前

    在我的内容树中,我有一个表示城市的内容项树。对于每一个我想有逻辑连接到一组…假设…2小时车程内的国家公园。所以一个城市会有多个公园…每一套都是不同的…当然,一个公园也会与多个城市相联系。

    什么样的项目和字段设置对于这种情况很有效?我将为这些项创建一个自定义呈现器,因此我主要关注的是在SiteCore中如何实现这一点,以最大限度地提高易用性和性能。

    我使用的是Sitecore 6.2。

    (从SDN交叉发帖,请原谅我…但我希望在StackOverflow上鼓励更多的SiteCore社区)

    3 回复  |  直到 14 年前
        1
  •  2
  •   Yan Sklyarenko Rob Mensching    14 年前

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

       Cities
    
           NY
           London
           Paris
    
       Parks
    
           Park1
           Park2
           Park3
    

    “city”模板应具有名为“parks”的多列表类型字段。这片土地的源头应该是公园的根源(家庭公园)。与“park”模板具有名为“cities”的多列表字段的方式相同。此字段的来源应查找城市的根(home>cities)。

    这样,您就可以轻松地执行任何类型的请求。

    希望这有帮助。

        2
  •  2
  •   Gabriel Boys    14 年前

    如果连接必须是双向的,那么可以通过向save事件添加一些代码来处理它。

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

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

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

        3
  •  0
  •   Adam Weber    14 年前

    你打算从一个公园到另一个城市去看吗?例如,您是否需要说“查找与给定公园相关联的所有城市”?还是仅仅是“找到与某个城市相关联的所有公园”?如果你需要在两个方向进行查找,事情会变得更加棘手,我可能会推荐使用搜索索引。但是,如果您的查找只在一个方向上进行,那么您可以使用树型字段来建立从一个项目到许多其他项目的关联。

    从你的描述中,我不完全确定你是否真的需要多对多的关系,或者你是否只需要一对多的路径?