【问题标题】:Sitecore 8.1 Header and Footer Composite ComponentSitecore 8.1 页眉和页脚复合组件
【发布时间】:2019-04-30 08:01:45
【问题描述】:

在 Sitecore 中,我为“网站所有页面的标题中出现的标题、顶部菜单、徽标、搜索、登录按钮……等”创建了基本模板和渲染。

同样的模板和渲染在其他网站上使用,所以我们不能在标准字段中设置值。

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

有没有办法让“标题渲染”包含子渲染,并通过放置“标题渲染”来渲染其所有子渲染。

标题复合组件 ===>

  • 标志组件

  • 顶部导航组件

  • 搜索组件

【问题讨论】:

    标签: sitecore rendering sitecore8


    【解决方案1】:

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

    这个填写正是你的要求。

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

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

    然后,该模块会将组件项表示中的渲染注入到您当前的项中。因此,您只需更新一个地方即可更新所有页面等...

    我在几个生产站点上运行了这个,它运行良好。它甚至支持体验编辑器。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        您可能想看看使用Placeholder Fallback

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-09
          • 1970-01-01
          • 1970-01-01
          • 2020-11-30
          • 2011-08-17
          相关资源
          最近更新 更多