使用Sitecore占位符和SXA列拆分器组件时,如何避免重复的divs.row?

Tho*_*mas 2 sitecore sitecore-sxa

当结合使用Sitecore的占位符SXA列分隔时,<div class="row">会添加/渲染多个。这会在我们的布局中导致意外的边距和填充。

问题:

  • 有办法避免这种情况吗?
  • 是否不打算在占位符内使用Sitecore的Column-splitter组件?
  • 我可以在占位符上设置一些属性,使我不渲染<div class="row">其自身生成的属性吗?

此外,我尝试更改Sitecore中的“网格设置”设置,但我发现的唯一选择是删除<div class="row"整个网格以及所有占位符和SXA组件的全局生成。这不是我想要的。

这是我用来做占位符的代码:

@Html.Sitecore().Placeholder("SomePlaceholder")
Run Code Online (Sandbox Code Playgroud)

当我在其中添加Sitecore的SXA 列分隔符时,会得到一个额外的问题<div class="row">(如下面的浏览器控制台的屏幕截图所示),这会引起问题。

浏览器控制台的屏幕截图,显示带有类行的重复div

我希望只有一个<div class="row">具有继承的边距和由网格设置的填充。(在我的情况下,在我们的SXA主题的Sitecore的网格设置中分配的Bootstrap 4网格)

Jen*_*Jen 5

您可以通过指定要从生成行中排除的某些占位符来修补配置。

<?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>
Run Code Online (Sandbox Code Playgroud)

例如,在视图中,我们使用:

@Html.Sitecore().Placeholder("utility-links")
Run Code Online (Sandbox Code Playgroud)

@Html.Sitecore().Placeholder("login-link")
Run Code Online (Sandbox Code Playgroud)

我们不想在新行中使用。