Sitecore演示文稿详细信息不会更新模板更改

时间:2012-10-01 20:52:22

标签: templates sitecore sitecore6 presentation

我正在使用Sitecore(6.4.0.101124)网站,该网站有两个用于主页的模板。它们具有非常相似的结构 - 它们之间的最大区别在于它们在标准值的Presentation Details的Controls部分中都有一个不同的子布局。我的理解是,当在项目上更改模板时,模板的标准值应该应用于该项目。但是,当内容编辑者更改模板时,演示文稿的详细信息将保持不变,直到我进入并更改它们。

所以这意味着要么我误解了它应该如何工作,要么发生了一些不可思议的事情。这与所讨论的问题in this thread非常相似,但给出的答案似乎并不适用,因为此项目不是使用分支模板创建的。

有没有人有类似的经历(并解决了)?我是否可以根据这种方式开展工作?

3 个答案:

答案 0 :(得分:8)

你写道:

  

我的理解是,当在项目上更改模板时,模板的标准值应该应用于该项目。

仅当尚未编辑字段时才会这样。编辑项目的字段后,编辑的值优先于默认值。将模板更改为具有不同标准值的模板只会在未触摸该字段时产生影响,或者如果用户使用“字段重置”按钮将字段重置为默认值。 (请注意,手动清除字段不会起作用.Sitecore将存储一个空字符串,它将覆盖标准值。通过使用Reset按钮,您可以将字段设置为Database Null,这会导致使用标准值。)

Reset Button

您可以通过检查内容编辑器中字段旁边的文本“标准值”来判断是否已编辑字段:

Standard Values display hint


Sitecore 6.4.0和Layout Deltas

Sitecore 6.4.0及更高版本的Renderings字段更复杂,因为Sitecore introduced是一个名为“Layout Deltas”的功能。在布局增量之前,如果您编辑了项目的演示文稿详细信息,Sitecore会将标准值的“渲染”字段中的布局信息复制到项目的“渲染”字段中,其结果是对标准值渲染的任何后续更改都没有对此项目的显示效果。

此功能使管理更改变得困难,因为对单个项目的演示细节进行微小更改(例如添加条件呈现逻辑)会破坏标准值的继承。如果有必要更改一类项目的表示,则必须先更改标准值,然后对修改演示文稿的每个项目进行相同的更改。

使用Sitecore 6.4的布局增量,如果修改项目的显示,只需将更改存储在项目的“渲染”字段中,而不是标准值渲染的完整副本。此更改或增量信息应用于标准值呈现信息之上,以便对标准值布局的修改应用于所有继承项,而不仅仅是具有未修改表示的项。

听起来您的内容编辑已对项目的演示文稿进行了修改。切换模板时,此更改将应用​​于新模板的顶部。您可以通过检查相关项目的“渲染”字段旁边的[标准值]文本来确认这一点。

答案 1 :(得分:3)

模板具有值,但是使用该模板创建的项的值包含在标准值项中。现在,就是这样说,从该模板创建的项目上的每个字段都有一个标志,表明它是否使用模板标准值。如果演示文稿详细信息未标记为仍使用标准值,则它不会将更新级联到项目。

现在..确保你理解分支和模板之间的区别。分支是一种如何创建项目的“模型”。当您对分支项目进行更改时,它不会降低级联更改。项将从其TEMPLATE标准值继承值。分支值仅在项目创建时继承。

编辑:顺便说一句,我应该补充一点,如果你打开左边的装订线来显示被覆盖的演示文稿,你可以看看演示文稿值是否是标准值。如果您看到图标,则表示该项目当前未使用标准值。

答案 2 :(得分:1)

我遇到了这个问题,因为我有一个跨越数百页的字段,我需要改变它。开始时没有共享。我尝试将该字段设置为Shared&在模板中无变化但在我进行更改时不会导致它在任何地方都发生变化。

然后我继续在模板中将标准值设置为我想要的字段,然后选择版本 - >字段 - >高亮标准值后重置。我第一次这样做,它将字段重置为空白。然后我再次做了,并且在使用该特定字段的每个页面上更改了字段。希望这可以帮助。看来如果您已经有一个未开始共享的字段,则需要重置标准值。