1

我正在尝试使用 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。Helper 类方法是这样的:

public Iterator getNavigationIterator() {
     Navigation nav = new Navigation(getCurrentPage() , absParent , new PageFilter(getRequest()), 3);
     return nav.iterator();
}

我能做的:

我能够访问页面属性(和任何自定义属性)。我能够打印整个树结构

我无法做到的:

我无法从该项目中检索 Navigation.Element.Type 属性。 要制作“UL”和“LI”结构,我需要确定相关项目的 Navigation.Element.Type 是什么。

有没有人有任何指示?

4

2 回答 2

0

迭代器遍历所有 Navigation.Element 条目。因此,您应该能够使用

item.type
于 2015-03-27T10:52:18.330 回答
0

你有没有尝试过

data-sly-test=${item.listChidlren}

或者干脆

<ul data-sly-list=${currentPage.listChildren}>
于 2015-03-31T19:58:49.467 回答