Компонент CQ parsys сохраняется на странице

Я добавил один компонент parsys в свой шаблон, используя код:

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

Но когда я создаю страницу и добавляю текст в компонент parsys, компонент все еще остается на странице (под добавленным текстом).

Есть ли способ удалить его после добавления какого-либо актива (текста или изображения и т. д.) в parsys?


aem
person Community    schedule 21.02.2013    source источник


Ответы (4)


Согласен с ответами данными выше. Правильный ответ будет заключаться в том, чтобы обобщить два приведенных выше ответа.

  1. Компонент parsys нельзя просто удалить после добавления в него компонентов. Если вы этого не хотите, то добавьте нужный компонент в jsp страницы. (Совсем не рекомендуется)
  2. В любом случае он виден только в экземпляре «автор». Компонент с пунктирной рамкой, который отображает «Перетащите компоненты или активы сюда», не будет отображаться в «общедоступном» экземпляре.
person Riju Mahna    schedule 01.04.2013

Parsys — это место для размещения компонентов. Вы не можете поместить компоненты в parsys, а затем удалить parsys без удаления компонентов, содержащихся внутри, поскольку компоненты являются подузлами узла parsys в jcr.

В вашем случае кажется, что вы бы предпочли встроить текстовый компонент в шаблон вместо parsys

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

Помните, что атрибут пути должен быть уникальным.

person kfaerber    schedule 21.02.2013

Чтобы добавить, область перетаскивания появляется только в авторском режиме, если вы хотите проверить, как она выглядит в режиме публикации, вы можете выбрать режим предварительного просмотра в помощнике. Таким образом, ваш сайт публикации будет рабочим сайтом.

person raja vijay singh    schedule 22.02.2013

Есть способ убрать парезы, но я бы советовал делать это с осторожностью. Сначала в вашем 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>
person user2952937    schedule 04.11.2013