2

对于我们正在开发的网站,我们需要支持一个非常复杂的设计。因此,我们选择了每个页面上的所有内容都由组件组成的策略。作者可以插入各种组件,例如标题、富文本块、图像等,从而使他们能够灵活地布局页面。这是我们唯一可以支持所创建的复杂设计的方法。

除了版本控制和搜索之外,此设置运行良好。当页面被版本化时,页面上的组件不是。当项目被索引以进行搜索时,页面上的组件不会作为页面的一部分被索引。我们认为我们可以使用自定义搜索索引来解决搜索问题,但版本控制问题似乎要复杂得多。

有没有其他人遇到过这些问题或对解决方案有想法?我们使用的是 Sitecore 7.5。

4

1 回答 1

1

一个简单的答案是在版本 8 发布后立即升级到版本 8 将版本控制添加到渲染字段。

我的猜测是您正在设置每个项目的渲染参数上的字段内容?如果是这种情况,我建议采取稍微不同的方法。使用数据源。您可以有一些保存数据的模板,例如 RichTextTemplate、SingleLineTextTemplate、ImageTemplate - 所有模板都包含一个字段,然后当您向页面添加标题或富文本块时,将渲染设置到所有编辑器以创建数据资源。

这样,所有内容都可以正确地进行版本控制,并且您仍然可以将内容和演示分开。

为了保持树整洁,我们在项目下使用“资产”文件夹来存放所有内容:

示例树:

  • 网站核心
    • 内容
      • 资产
      • 第 1 页
        • 资产
          • 标题
          • 富文本块
      • 第2页
        • 资产
          • 标题
          • 富文本块
          • 图像块等...

搜索问题听起来类似于这篇文章:How to index sub-content in Sitecore with Lucene?

这暗示了一个计算域。在您的计算域中,检查您的模板是否是一个页面,然后获取该页面的所有渲染。获得这些后,获取渲染数据源项,然后您可以使用数据源项字段中的内容构建一个大搜索字段。

这将节省使用自定义访问层的额外索引。这一切都保留在 Sitecore API 中。

于 2014-12-09T20:26:58.023 回答