在哪里设置站点核心布局和子布局

Where to set sitecore layout and sub-layout

我是sitecore的新手,想问一个关于布局继承的问题。我正在使用 Web 表单并使用 Sitecore Rocks 完成所有工作。我有一个包含三个字段的基本模板。我还有 2 个从基本模板继承的模板(硬件和产品)。我创建了一个硬件内容项,在它下面是一个产品内容项。

我创建了布局、子布局及其各自的定义项。在我的布局中,我有一个占位符控件,因此我可以动态地将一个组件绑定到它。

现在,我继续将布局和子布局设置为基本模板的标准值。现在,通过我这样做,硬件和产品项目是否会继承布局和子布局?我认为答案是肯定的,因为当我预览这两个项目时,它们会按照我定义的布局和子布局进行渲染。这是标准做法吗?另外,如果我为 Product 项目定义不同的子布局并将其设置为 Product 模板的标准值,那么当在其基本模板上定义布局时,我为什么会收到“...未找到布局”错误消息?

如果有人能为我阐明这一点,我将不胜感激。我真的很想把这个概念记下来,因为我意识到它是 Sitecore 开发的基石。

你第一个问题的答案是,如果你用一些__StandardValues创建了一个基础模板并且你从基础模板继承了产品和硬件模板,在不定义自己的标准值的情况下,从这些模板创建的任何内容项都将继承基本模板的 presentation details

为了回答你的第二个问题,你得到一个布局未找到,可能是因为你没有在 Product 模板的 __StandardValues 上定义布局,如您希望从 Base 继承。但它不是这样工作的。

让我解释一下:


在我下面的截图中,您可以看到您提到的三个模板。请注意:

  • BaseTemplate__StandardValues
  • ProductTemplate 继承自 Base 但 没有 __StandardValues

    Any content items created from this template will inherit form the StandardValues of the Base template, as no custom values exist

  • HardwareTemplate 继承自 Base 但有自己的 _StandardValues

    Any content items created from this template will not inherit from Base, it will use its own settings from _StandardValues

一旦您更改项目的展示详细信息,您的项目将保留您的更改。

关于标准值如何工作的非常详细的解释可以在这里找到:http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2013/01/all-about-standard-values-in-the-sitecore-aspnet-cms.aspx