我们刚开始遇到一个非常奇怪的问题。我们有一个模板,它使用包含三列子布局的基本布局。子布局中的每列都有一个占位符。这是代码:
<div class="section section-bottom-padding row row-narrow">
<div class="col md-3 left-sidebar">
@Html.Sitecore().DynamicPlaceholder("three-six-three_content-a")
</div>
<div class="col md-6 main-content">
@Html.Sitecore().DynamicPlaceholder("three-six-three_content-b")
</div>
<div class="col md-3 callout-sidebar">
@Html.Sitecore().DynamicPlaceholder("three-six-three_content-c")
</div>
</div>
第三列的占位符设置也在标准值上设置,键为三 - 六 - 三 - 内容 - c 。
有数百个页面的组件已添加到3-6-three_content-c占位符中,并且工作正常。昨天有人告诉我,我们的一位内容编辑器创建了这个模板的新实例,并且无法将组件添加到XE中的three-six-3_content-c占位符。我确认正常方格背景表示放置区域不在那里。像这样已经有组件的其他页面工作得很好,允许您根据需要添加/删除组件...直到从占位符中删除所有组件。之后,您将无法添加更多内容。
要验证,我在视图中的占位符上添加了“-test”一词,使其三 - 六 - 三 - 内容 - c-test 并更新了此特定内容项的占位符设置相应地匹配。在这之后,正确的体验回来了,我能够添加组件。当我恢复原始名称时,添加/删除组件的能力就会消失。我还测试了使用@ Html.Sitecore()。占位符(“three-six-three_content -c”)而不是DynamicPlaceholder只是为了排除DynamicPlaceholder模块没有引起问题。
我还验证了它被标记为可编辑,CSS没有隐藏占位符。
看起来不知何故名称为3-6-three_content-c已被破坏或导致问题,但我不知道为什么会发生这种情况。
我们的设计师还在该列周围添加了一个红色边框,它就在那里,但它只有1个像素高,因为它没有任何内容,而点击“添加组件”并没有给你灰色的“添加到这里”按钮
有没有人遇到过这个?
答案 0 :(得分:1)
宾果!答案已经找到。我们的设计师最近放弃了模板标准值的渲染,并将其放在三 - 六 - 三 - 内容 - c上。她在那里有一个css类错误地使用display:none隐藏了渲染(试图使其响应)。 Sitecore仍然能够将渲染放置在占位符上,但由于它设置为display:none,占位符画布的高度为0px(因为没有内容可以用任何东西填充它)。在这种情况下,您不会获得“添加组件”按钮或查看方格画布以单击并添加更多项目。