Sitecore 8.1 页眉和页脚复合组件

Sitecore 8.1 Header and Footer Composite Component

在 Sitecore 中,我为 "Header, Top Menu, Logo, Search ,Login Button…etc that comes in Header across all Pages of the Site."

创建了基础模板和渲染

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

现在的问题是“假设我们在一个站点中有 100 个页面,那么每个页面我们都必须去 add/update 渲染和数据源。

有什么方法可以让一个“Header rendering”包含子渲染,并通过放置“Header rendering”来渲染它的所有子渲染。

页眉复合组件===>

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

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

最后,显而易见的解决方案是为每个站点创建一个页面模板,这样您就可以为每个站点设置标准值。

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

这完全符合您的要求。

它的工作原理是创建一个 "Composite Component" 项目,然后将 header 的效果图添加到该组件。例如。徽标、导航等...

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

该模块随后会将组件项目展示中的效果图注入到您当前的项目中。所以你只需要更新一个地方来更新所有页面等...

我在一些生产站点中使用了这个 运行,并且效果很好。它甚至支持体验编辑器。

您可能想看看使用 Placeholder Fallback

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

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

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