Я пытаюсь создать список всех дочерних страниц для отображения в виде списка гиперссылок. У меня пользователь выбирает родительскую папку, и любые дочерние страницы должны быть перечислены соответственно. Однако он заканчивается пустым (children
пуст).Итерация над дочерними страницами с использованием поля типа xtype
Диалог Элемент:
<listRoot
name (String): ./listRoot
jcr:primaryType (Name): cq:Widget
xtype (String): pathfield
>
Исходный код:
<%@include file="/libs/foundation/global.jsp"%>
<%@page
import="java.util.Iterator,
com.day.cq.wcm.api.PageFilter"
%>
<%@page session="false" %>
<%
String listroot = properties.get("listRoot", currentPage.getPath());
Page rootPage = pageManager.getPage(listroot);
if (rootPage != null) {
Iterator<Page> children = rootPage.listChildren(new PageFilter(request));
while (children.hasNext()) {
Page child = children.next();
String title = child.getTitle() == null ? child.getName() : child.getTitle();
String date = child.getProperties().get("date","");
%><div class="item">
<a href="<%= child.getPath() %>.html"><b><%= title %></b></a>
<span><%= date %></span><br>
<%= child.getProperties().get("jcr:description","") %><br>
</div><%
}
}
%>
Благодарим Вас за это немного информации. Я не вручную настраивал страницы для скрытия от навигации, но, видимо, они были. Есть ли что-то с шаблоном, связанным с этим, чтобы определить, скрыты ли они по умолчанию? Потому что все созданные мной страницы появляются после создания. –
Вы можете скрыть по умолчанию, настроив в шаблоне, но не уверен, что это так. – rakhi4110