Sitecore 8.1页眉和页脚复合组件

问题描述 投票:1回答:3

在Sitecore中,我已经为“标题,顶级菜单,徽标,搜索,登录按钮等等创建了基本模板和渲染,它们位于网站所有页面的标题中。”

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

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

是否有任何方式“标题渲染”包含子渲染,并通过放置“标题渲染”渲染其所有子渲染。

标题组合组件===>

  • 徽标组件
  • 顶部导航组件
  • 搜索组件
sitecore rendering sitecore8
3个回答
1
投票

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

这个填充符合您的要求。

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

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

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

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


1
投票

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

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

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


1
投票

你可能想看一下使用Placeholder Fallback

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.