使用导航组件

时间:2015-03-20 00:24:02

标签: navigation aem sightly

我正在尝试使用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是什么。

有没有人有任何指示?

2 个答案:

答案 0 :(得分:0)

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

访问此字段
item.type

答案 1 :(得分:0)

你试过吗

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

或者只是

<ul data-sly-list=${currentPage.listChildren}>