无法在Liferay中的Web内容管理器中迭代重复元素

时间:2017-05-16 08:15:00

标签: liferay freemarker

我的模板结构用于创建网页内容。 名为List的文本的父元素,它具有名为Item。enter image description here

的可重复子元素

当我尝试添加两个或更多元素时,我无法使用我的模板显示所有元素。它只显示Item的第一个元素。 这是我的模板

<#if Information.getSiblings()?has_content>
<#list Information.getSiblings() as information>
  <h1>${information.getChild('Title').getData()}</h1>
    <p>${information.getChild('Description').getData()}</p>
    <ul>
  <#list information.getChild('List').getSiblings() as item>
  <li>${item.getChild('Item').getData()}</li>
  </#list>
  </ul>
    </#list>

UPD 处理它。这将显示列表中的所有项目

<#if Information.getSiblings()?has_content>
<#list Information.getSiblings() as information>
  <h1>${information.getChild('Title').getData()}</h1>
    <p>${information.getChild('Description').getData()}</p>
    <ul>
  <#list information.getChild('List').getChild('Item').getSiblings() as item>
  <li>${item.getData()}</li>
  </#list>
  </ul>
    </#list>

1 个答案:

答案 0 :(得分:1)

我认为您应该使用getChildren()而不是getSiblings()

来导航信息结构

这样的东西
<#if parent.getChildren()?has_content>
    <#list parent.getChildren() as information>
        ...
    </#list>
</#if>

使用getSiblings()你是其中一个兄弟&#34;