2

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

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

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

在向 parsys 添加一些资产(文本或图像等)后,有没有办法将其删除?

4

4 回答 4

3

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

在您的情况下,您似乎更愿意将文本组件嵌入模板而不是 parsys

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

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

于 2013-02-21T20:54:32.847 回答
2

要添加,放置区域仅在作者模式下出现,如果您想检查它在发布模式下的外观,您可以在 Sidekick 中选择预览模式。因此,您的发布站点将成为生产中的实时站点

于 2013-02-22T04:22:28.840 回答
1

同意上面给出的答案。正确的答案只是总结以上2个答案。

  1. parsys 组件不能在添加组件后就被删除。如果你不想要它,那么在页面的jsp中添加想要的组件。(完全不推荐)
  2. 无论如何,它仅在“作者”实例中可见。显示“将组件或资产拖到此处”的虚线组件不会出现在“公共”实例中。
于 2013-04-01T09:54:30.717 回答
0

有一种方法可以删除 parsys,但我建议谨慎使用。首先,在包含 parsys 中,检查要添加到此特定 parsys 中的组件是否存在。如果确实如此,那么您只需将该组件直接包含在您的页面中,如果没有,则将 parsys.xml 包含在内。

示例代码:

<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>
于 2013-11-04T15:06:17.983 回答