我正在尝试使用Navigation api创建一个全局标头组件@ http://docs.adobe.com/docs/en/cq/5-6-1/javadoc/com/day/cq/wcm/foundation/Navigation.html 我有一个明亮的HTML,能够让我参考“项目”
<div data-sly-unwrap data-sly-use.navitems="${'Helper'}"></div>
<ul data-sly-list="${navitems.navigationIterator}">
<li> ${itemList.count} :: ${item.page.properties.jcr:primaryType} :: ${item.title}
${item.navigation.element.properties.Type}
</li>
Helper类返回迭代器,用作列表并解析itemsList。助手类方法是这样的:
public Iterator getNavigationIterator() {
Navigation nav = new Navigation(getCurrentPage() , absParent , new PageFilter(getRequest()), 3);
return nav.iterator();
}
我能做什么:
我可以访问页面属性(以及任何自定义属性)。我能够打印整个树结构
我无法理解:
我无法从项目中检索Navigation.Element.Type属性。 要创建“UL”和“LI”结构,我需要确定相关项目的Navigation.Element.Type是什么。
有没有人有任何指示?
答案 0 :(得分:0)
迭代器遍历所有Navigation.Element条目。因此,您应该可以使用
访问此字段item.type
答案 1 :(得分:0)
你试过吗
data-sly-test=${item.listChidlren}
或者只是
<ul data-sly-list=${currentPage.listChildren}>