Sitecore 8.1页眉和页脚复合组件

时间:2016-10-07 06:24:48

标签: sitecore rendering sitecore8

在Sitecore中我创建了基本模板&标题,顶部菜单,徽标,搜索,登录按钮等的渲染,包含在本网站所有页面的标题中。"

同样的模板&渲染正在其他网站中使用,因此我们无法在标准字段中设置值。

现在的问题是“假设我们在网站中有100个页面,那么我们必须去的每个页面添加/更新渲染&数据来源。

“标题渲染”是否包含子渲染以及通过放置“标题渲染”渲染其所有子渲染是否有任何方法。

标题组合组件===>

  • 徽标组件

  • 热门导航组件

  • 搜索组件

3 个答案:

答案 0 :(得分:1)

我认为没有开箱即用的解决方案。 SxA通过站点级别的部分和页面设计解决了这个问题。刚写了一篇关于它的博客:
http://reinoudvandalen.nl/blog/sitecore-experience-accelerator-partial-designs-and-page-designs/

我也做了一些可能对你有用的东西:部分布局预设 http://reinoudvandalen.nl/blog/sitecore-partial-layout-presets/
它甚至允许您存储每个站点的预设,但请记住它注入组合布局。如果您修改预设,则它不会应用于注入它的页面(尽管您可能会为每个站点提供一些共享数据源)。

最后一个明显的解决方案是为每个网站创建一个页面模板,这样您就可以为每个网站提供标准值。

答案 1 :(得分:1)

Sitecore Marketplace上有一个复合组件模块:https://marketplace.sitecore.net/Modules/C/Composite_components.aspx?sc_lang=en

此填充符合您的要求。

它的工作原理是创建一个“复合组件”项,然后将标题的渲染添加到该组件。例如。徽标,导航等...

然后,在页面模板的标准值中,添加新的Composite Component渲染并将数据源设置为您创建的组件项。

然后,模块将组件项演示中的渲染注入到当前项中。所以你只需要更新一个地方来更新所有页面等......

我在一些生产网站上运行它并且运行良好。它甚至支持体验编辑器。

答案 2 :(得分:1)

您可能需要查看使用Placeholder Fallback

这将允许您将组件和渲染添加到顶级页面,然后子页面将回退"使用插入到项目层次结构中顶级页面的占位符中的渲染。如果需要,编辑者还可以在每个子页面上插入特定于页面的渲染。

如果您不想自定义代码并且只有开箱即用的功能,那么您可以使用设备。您可以在有关Set up a device layout的文档中找到更多信息。创建设备后,您可以为每个站点指定不同的默认设备:

     

现在,当您在模板的Presentation Details上打开__Standard Values时,您可以为每个设备指定不同的LayoutRenderings,即AltSiteDevice的不同设备}