场景
Sitecore 8站点,我们有一个称为相关视频面板的组件,该组件具有一个标题的字段,并且允许编辑器使用Experience Editor的占位符,允许编辑器放入相关的视频组件。
相关的视频面板和
相关视频都是通过GlassMapper填充的MVC控制器效果图。
问题
- 重新创建(全部通过经验编辑器)的步骤
throup throup的视频面板在右轨上。当提示数据源时,请选择“创建new”并命名Panel1.
。
Save-
在步骤1中创建的面板上的drop a相关视频
Save
通过单击红色X X来从右导轨中删除整个组件
Save.-
Repeat步骤1,再次创建一个全新的面板,命名
Panel2-
toplow forplow step 7,我期望一个空白的视频面板
,但是我们与已添加的视频相关的视频小组- 呈现了相关的视频面板。
到目前为止,toubleshoting
我测试了面板是新的,每次将标题放在页面上时。 标题每次都是新鲜的,所以我知道它正在显示一个新鲜的面板,即使渲染不正确显示。
我还验证了“新标签”面板上的演示详细信息是空的,因此在项目的演示详细信息上没有明确设置渲染图,以使它们显示出来。
I证实了它必须与特定占位持有人有关,因为如果我在同一页面上的其他占位符上遵循上面的步骤,我会按预期获得空白面板。
summary-
尽管我不愿意去那里而无需进一步的调查/讨论,但这确实可能是一个现场错误。我的配置中可能还有其他东西将其弄乱。 我很难过,我不确定还要调查什么。 我也可能会和Sitecore开票。 有人在这样的问题上有任何经验吗?
-
不幸的是,您所描述的问题是Sitecore的标准行为。当您删除定义占位持有人的控件时,放置在这些占位持有人内的组件不会被删除,而是将孤儿留下。您可以通过查看演示详细信息来确认这一点,并可以验证这些嵌套渲染仍在列出。当您再次与占位符添加面板时,现有效果图还会出现,因为它们仍然绑定到该占位符钥匙。
- 您必须编写一些自定义代码,挂入
item:saving
,然后检查任何孤儿渲染的布局/最终布局字段,然后删除它们。
在jammykam's答案中,此问题是因为Sitecore不会自动删除使用嵌套占位符的父渲染时自动删除孤立的效果图。您需要清理布局字段中的孤儿效果图。
我写了一篇博客文章,详细介绍了问题和解决方案 - 在此处查看。