我将在序言中说这可能不是分支模板的最佳用途,但在纸面上似乎没问题,但有一些缺点。
Sitecore 8,我们有一个名为" Program。"程序需要能够是两列(9-3网格)或完整(12-col网格)。这些基本上代表完整版本和带右轨的版本。
我们希望内容编辑能够决定他们何时创建页面是否需要"程序"或"用右轨编程。"为了进行设置,我们创建了两个分支模板。一个看起来像这样:
Layout: Base Layout
Renderings: Full (sublayout), Program Detail (rendering, dropped onto Full's placeholder)
看起来像这样:
Layout: Base Layout
Renderings: Two-Column (sublayout), Program Detail (rendering, dropped onto Two-Column's placeholder)
Placeholder settings: Right Rail (allows right rail components to be added)
然后,当用户右键单击"程序"树中的项目,他们可以选择上面两个选项之一,它会创建具有相应演示文稿详细信息的程序项目(同样,全宽或两列)。
这一切都有效,但问题是如果我必须在其中一个分支模板上更改某些内容,则该更改不会传播到基于该分支创建的任何项目,就像标准值一样。没有"分支delta"我很清楚。
有没有更好的方法来解决这个问题?在我的脑海中,它基本上听起来像我需要分支模板的标准值,但我不认为存在。
我的另一个想法是创建一个"程序大师"模板,然后创建两个继承它的模板,程序和程序与铁。这样他们将共享相同的数据,但会有不同的标准值,并允许我为它设置不同的演示细节。这感觉有点脏,因为我基本上都在创建一个模板来处理外观和感觉。我希望我能正确解释这一点,但如果不是,如果我不清楚,我会更新更多信息。
答案 0 :(得分:3)
不幸的是,如果你想利用"布局增量,"开箱即用,你需要有一个单独的模板,它有自己的标准值,据我所知。
如果您愿意,您可以使用renderLayout
管道做一些奇特的事情 - 例如Sitecore Zen Garden引入了" Designs"的概念。用于定义默认布局,并允许您将布局与标准值分开。但是那时你就要离开预订了。