将Sitecore的占位符与 SXA列分隔符结合使用时,会添加/呈现多个<div class="row">
。这会在我们的布局中导致意外的边距和填充。
问题:
<div class="row">
?此外,我尝试更改Sitecore中的“网格设置”,但我发现的唯一选择是全局删除整个网格以及所有占位符和SXA组件的<div class="row"
生成。这不是我想要的。
这是我用来制作占位符的代码:
@Html.Sitecore().Placeholder("SomePlaceholder")
当我在其中添加Sitecore的SXA 列分隔符时,我得到了一个额外的<div class="row">
(如下面的浏览器控制台的屏幕截图所示),从而引起了问题。
我希望只有一个<div class="row">
,其继承的边距和填充由网格设置。 (在我的情况下,Bootstrap 4网格已在Sitecore的网格设置中分配给我们的SXA主题)
答案 0 :(得分:4)
您可以通过指定要从生成行中排除的某些占位符来修补配置。
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<experienceAccelerator>
<grid>
<placeholderWrapper>
<excludedPlaceholders>
<placeholder patch:after="body-bottom">utility-links</placeholder>
<placeholder patch:after="utility-links">login-link</placeholder>
</excludedPlaceholders>
</placeholderWrapper>
</grid>
</experienceAccelerator>
</sitecore>
</configuration>
例如,在一个视图中,我们使用:
@Html.Sitecore().Placeholder("utility-links")
和
@Html.Sitecore().Placeholder("login-link")
我们不希望出现在新行中。
答案 1 :(得分:1)
有一些方法可以消除表层的行。
但是首先要检查的是您的SXA版本。我相信这个问题仅在SXA 1.8中存在(此时我们引入了Bootstrap 4),随后在SXA 1.8.1中得以解决。如果可以选择升级到1.8.1,我绝对会建议这样做。