嵌套的 sitecore 组件显示不正确的渲染

Nested sitecore components showing incorrect renderings

场景 Sitecore 8 站点,我们有一个名为 Related Video Panel 的组件,它有一个标题字段和一个允许编辑器拖放到它上面的占位符 Related Video 个使用体验编辑器的组件。

相关视频面板相关视频都是通过 GlassMapper 填充的 MVC 控制器渲染。

问题 - 重新创建的步骤(全部通过体验编辑器)

  1. 相关视频面板拖放到右栏。当提示输入数据源时,选择 create new 并将其命名为 Panel1.
  2. 保存
  3. 相关视频 组件拖放到第 1 步创建的面板上
  4. 保存
  5. 通过单击红色 X
  6. 从右栏中删除整个组件
  7. 保存。
  8. 重复步骤 1,再次创建一个全新的面板,将其命名为 Panel2

在第 7 步之后,我希望看到一个空白的 相关视频面板 ,但我们看到的却是 相关视频面板 [=26] =]相关视频 已添加。

到目前为止的故障排除 我通过每次将面板放在页面上时添加一个标题来测试该面板是新的。标题每次都是新鲜的,所以我知道它显示的是一个新面板,即使效果图显示不正确也是如此。

我还验证了新选项卡面板上的演示详细信息是空的,因此没有在项目的演示详细信息上明确设置渲染以使其显示。

我确认它一定与特定占位符相关,因为如果我在同一页面上的不同占位符上执行上述步骤,我会按预期获得空白面板。

总结 这看起来确实可能是一个 Sitecore 错误,尽管我犹豫是否要进一步 investigation/discussion。我的配置中可能有其他东西搞砸了。我很困惑,我不确定还有什么要调查的。我也可以使用 Sitecore 开票。有没有人遇到过这样的问题?

不幸的是,您描述的问题是 Sitecore 中的标准行为。当您删除定义占位符的控件时,放置在这些占位符中的组件不会被删除,而是会被孤立。您可以通过查看 Presentation Details 来确认这一点,并且您可以验证那些嵌套的渲染是否仍然在列表中。当您再次添加带有占位符的面板时,现有渲染会重新出现,因为它们仍然绑定到该占位符键。

您必须编写一些自定义代码,连接到 item:saving,然后检查 Layout/Final 布局字段中是否存在任何孤立的渲染,然后将其删除。