一个组件在页面中显示两次
One component is displayed twice in the page
我有一个要求,模板中应该有预定义的组件。创建页面后,应移动或删除所有这些组件。
它还包含一个 parsys。
这个我已经完成了。但我面临一个问题。
如果我在我的代码中提到
<sly data-sly-resource="${'content' @ resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
我在页面中两次获得相同的组件。
如果我提到其他内容代替内容,它工作正常。
谁能帮我解决这个问题。
我正在使用的示例代码。
<div class="sample1"><sly data-sly-resource="${'content/sample1' @ resourceType=''}" data-sly-unwrap/></div>
<div class="sample2"><sly data-sly-resource="${'content/sample2' @ resourceType=''}" data-sly-unwrap/></div>
<sly data-sly-resource="${'content' @ resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
'content'
部分实际上用作 @path
参数,这意味着将使用给定的 @resourceType
.
包含名为 content
的资源
您可能已将此 include 放入您的组件中两次,这导致放入该 parsys 的组件显示两次。
每个 parsys 都必须有自己独特的路径。
<!--first parsys-->
<sly data-sly-resource="${@path = 'content1',
@resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
<!--second parsys-->
<sly data-sly-resource="${@path = 'content2',
@resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
由于以下原因,这些组件可能会出现两次
- 一次来自直接包含它们的
data-sly-resource="${'content/sample2' @ resourceType=''}"
调用。
- 一次渲染
content
parsys。 parsys 是一种组件类型,它会自动呈现它的所有子项。
如果您尝试在页面首次创建时设置页面上存在哪些组件,我会考虑使用 Template。
旁注
- 如果您使用的是
<sly></sly>
标签,则无需包含 data-sly-unwrap
。狡猾的标签自动展开。
- 您可以将
data-sly
属性直接放在 div 上,而不是 <div><sly data-sly-resource="..."></sly></div>
:<div class="sample2" data-sly-resource="${'content/sample2' @ resourceType=''}"></div>
我有一个要求,模板中应该有预定义的组件。创建页面后,应移动或删除所有这些组件。 它还包含一个 parsys。
这个我已经完成了。但我面临一个问题。 如果我在我的代码中提到
<sly data-sly-resource="${'content' @ resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
我在页面中两次获得相同的组件。
如果我提到其他内容代替内容,它工作正常。
谁能帮我解决这个问题。
我正在使用的示例代码。
<div class="sample1"><sly data-sly-resource="${'content/sample1' @ resourceType=''}" data-sly-unwrap/></div>
<div class="sample2"><sly data-sly-resource="${'content/sample2' @ resourceType=''}" data-sly-unwrap/></div>
<sly data-sly-resource="${'content' @ resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
'content'
部分实际上用作 @path
参数,这意味着将使用给定的 @resourceType
.
content
的资源
您可能已将此 include 放入您的组件中两次,这导致放入该 parsys 的组件显示两次。
每个 parsys 都必须有自己独特的路径。
<!--first parsys-->
<sly data-sly-resource="${@path = 'content1',
@resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
<!--second parsys-->
<sly data-sly-resource="${@path = 'content2',
@resourceType='wcm/foundation/components/parsys'}" data-sly-unwrap="true"></sly>
由于以下原因,这些组件可能会出现两次
- 一次来自直接包含它们的
data-sly-resource="${'content/sample2' @ resourceType=''}"
调用。 - 一次渲染
content
parsys。 parsys 是一种组件类型,它会自动呈现它的所有子项。
如果您尝试在页面首次创建时设置页面上存在哪些组件,我会考虑使用 Template。
旁注
- 如果您使用的是
<sly></sly>
标签,则无需包含data-sly-unwrap
。狡猾的标签自动展开。 - 您可以将
data-sly
属性直接放在 div 上,而不是<div><sly data-sly-resource="..."></sly></div>
:<div class="sample2" data-sly-resource="${'content/sample2' @ resourceType=''}"></div>