在Liferay结构中添加可重复动态元素的限制

时间:2014-12-15 14:31:11

标签: liferay liferay-6 velocity web-content

我在Liferay 6.2中创建了一个结构和模板,我希望在重复次数上添加一个限制。

属性“repeatable”只能有“true”或“false”值。

结构:

<root>
  <dynamic-element index-type="text" name="names" repeatable="true" type="text">
    <dynamic-element index-type="" name="" repeatable="false" type="text"> </dynamic-element>
  </dynamic-element>
</root>

模板

#foreach ($communityname IN $names.getSiblings())
       $communityname.getData()  

 #end

</div>

1 个答案:

答案 0 :(得分:0)

不幸的是Liferay默认不提供限制结构中可重复字段的选项(是的,我也很惊讶)。所以要么你必须接受它们,要么只创建一些字段给它们后缀,然后通过以下方式之一迭代它们:

如果你确定它们都是一样的容器,例如结构字段,父类有child1,child2,child3,你可以使用其他任何东西:

#foreach ($communityname IN $namesParent.getChildren())
       $communityname.getData()  
#end

如果在父字段中还有其他字段而不仅仅是您想要迭代的字段,我会使用范围并在循环中使用它来迭代子节点

#set($range = [1..5])