对于我们正在开展的网站,我们有一个非常复杂的设计需要支持。因此,我们选择了每个页面上的所有内容都由组件组成的策略。作者可以插入各种组件,如标题,富文本块,图像等,从而可以灵活地布局页面。这是我们唯一可以支持创建的复杂设计的地方。
除了版本控制和搜索之外,此设置运行良好。页面版本化时,页面上的组件不是。当为搜索索引项目时,页面上的组件不会被编入索引作为页面的一部分。我们认为我们可以使用自定义搜索索引来解决搜索问题,但版本控制问题似乎要复杂得多。
是否还有其他人遇到过这些问题或对解决方案有何看法?我们在Sitecore 7.5上。
答案 0 :(得分:1)
一个简单的答案就是在版本8发布后立即升级到版本8,将版本化添加到渲染字段。
我的猜测是你在每个项目的渲染参数上设置字段的内容?如果是这种情况,我建议采取略有不同的方法。使用DataSources。您可以拥有一些保存数据的模板,例如RichTextTemplate,SingleLineTextTemplate,ImageTemplate - 所有都包含单个字段,然后当您向页面添加标题或富文本块时,将渲染设置为所有编辑器以创建数据源。
这样,所有内容都可以正确版本化,并且您仍在分离内容和演示文稿。
为了保持树的整洁,我们在项目下使用所有内容的“资产”文件夹:
示例树:
搜索问题听起来与此帖类似:How to index sub-content in Sitecore with Lucene?
这表明计算字段。在计算字段中,检查您的模板是否为页面,然后获取该页面的所有渲染。获得这些后,获取渲染DataSource项目,然后使用DataSource项目字段中的内容构建一个大型搜索字段。
这将节省具有自定义访问层的额外索引。它都保留在Sitecore API中。