Aem CQ parsys组件在页面上保持不变

Aem CQ parsys组件在页面上保持不变,aem,Aem,我使用以下代码在模板中添加了单个parsys组件: <div class = "BodyText" style="margin-top:75px;" > <cq:include path="vff1" resourceType="foundation/components/parsys"/> </div> 但是当我创建一个页面,并向parsys组件添加一些文本时,该组件仍然保留在页面上(在我添加的文本下方) 在parsys中添加一些资源(文本或

我使用以下代码在模板中添加了单个parsys组件:

<div class = "BodyText" style="margin-top:75px;" >
  <cq:include path="vff1" resourceType="foundation/components/parsys"/>
  </div> 

但是当我创建一个页面,并向parsys组件添加一些文本时,该组件仍然保留在页面上(在我添加的文本下方)


在parsys中添加一些资源(文本或图像等)后,是否有办法将其删除?

parsys是组件的放置区域。您不能将组件放入parsys,然后删除parsys,而不删除其中包含的组件,因为这些组件是jcr中parsys节点的子节点

在您的例子中,您似乎更喜欢将文本组件嵌入到模板中,而不是parsys

<div class="BodyText" style="margin-top:75px;">
    <cq:include path="text" resourceType="foundation/components/text"/>
</div>


请记住路径属性必须是唯一的。

要添加,拖放区域仅在作者模式下显示,如果要检查它在发布模式下的外观,可以在sidekick中选择预览模式。因此,您的发布站点将是生产中的实时站点

同意上面给出的答案。正确的答案将只是总结上述两个答案

  • 在将组件添加到parsys组件后,不能仅删除该组件。如果不需要,那么在页面的jsp中添加所需的组件。(完全不推荐)
  • 无论如何,它只在“author”实例中可见。显示“此处拖动组件或资源”的虚线边框组件不会出现在“public”实例中

  • 有一种方法可以移除帕西,但我建议谨慎使用。 首先,在include parsys中,检查要添加到此特定parsys中的组件是否存在。如果是这样的话,你就直接把这个组件包含到你的页面中,如果不是这样的话,你就把parsys包含进去

    示例代码:

    <c:choose>
    <c:when test="<COMPONENT_EXIST>">
       <cq:include path="<Path to component>" resourceType="<component resource>" />
    </c:when>
    
    <c:otherwise>
       <cq:include path="<parsys_path>" resourceType="foundation/components/parsys" />
    </c:otherwise>
    </c:choose>