我有一个要求,其中模板应该有预定义的组件。创建页面后,应移动或删除所有这些组件。 它还包括一个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>
答案 0 :(得分:0)
'content'
部分实际上用作@path
参数,这意味着将使用给定的content
包含名为@resourceType
的资源。
你可能在你的组件中放了两次这样的包含,导致组件放入该解析器中显示两次。
每个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>
答案 1 :(得分:0)
由于以下原因,组件可能会出现两次
data-sly-resource="${'content/sample2' @ resourceType=''}"
来自直接包含他们的电话。content
解析时。 parsys是一种组件类型,可以自动呈现它的所有子项。如果您在首次创建页面时尝试设置哪些组件,我会考虑使用Template代替。
旁注
<sly></sly>
代码,则不需要添加data-sly-unwrap
。狡猾的标签自动打开。<div><sly data-sly-resource="..."></sly></div>
属性直接放在div上,而不是data-sly
:<div class="sample2" data-sly-resource="${'content/sample2' @ resourceType=''}"></div>