【问题标题】:AEM: Iterating deep level nodes in Sightly ( with multfield )AEM:在 Sightly 中迭代深层节点(使用多字段)
【发布时间】:2014-09-24 16:27:12
【问题描述】:

我有一些类似这样的代码:

   <ul class="topnav" data-sly-   use.topnav="com.company.companysite.util.myJavaClass" data-sly-list="${topnav.getPathValueMap}">
   <li>${!item}></li>  ( what do I put here?? )
</ul> 

和一个java使用这样的类方法:

public ValueMap getPathValueMap() {
       String parentPath = "/content/siteregion/en/jcr:content/toplevel/regionNames";
    ResourceResolver resourceResolver = getResourceResolver();
    Resource resource = resourceResolver.getResource(parentPath);
    ValueMap vm = ResourceUtil.getValueMap(resource);
    return vm;

}

问题:我在 /content/siteregion/en/jcr:content/toplevel/regionNames 级别有一个多字段对话框

我需要 Slightly 代码来迭代用户在多字段对话框中输入的值

【问题讨论】:

  • 你在多字段中有什么值?如果您已经在使用一个类,我建议您在那里进行处理并为这个多字段返回一个列表。对于您的示例,我认为您只会遍历节点的所有属性。
  • 对 - 我实际上让它返回一个 hashmap 到视觉上 - 你知道如何从视觉上获取键和/或值 - 所以这工作 ${!item} 但我想做点什么像 ${!item.getValue} ?现在使用 ${!item} 我只从哈希图中获取密钥而不是值
  • 你试过使用 ${item.key} 和 ${item.value} 吗?

标签: adobe aem sightly


【解决方案1】:

基于Sightly Intro Part 3,这样的东西应该适用于迭代地图:

<ul class="topnav" data-sly-use.topnav="com.company.companysite.util.myJavaClass" data-sly-list.pathMap="${topnav.getPathValueMap}">
    <li>${pathMap} : ${topnav.getPathValueMap[pathMap]}</li>
</ul>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-05
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多