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

在Liferay结构中的可重复动态元素中添加限制,liferay,liferay-6,velocity,web-content,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"> &

我在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>

不幸的是,默认情况下,Liferay并没有提供在结构中限制可重复字段的选项,对此我也感到惊讶。因此,您必须接受它们,或者只创建一些给它们后缀的字段,然后通过以下方式之一对它们进行迭代:

如果您确保它们都在某种容器中,例如结构字段parent有child1、child2、child3,并且没有其他可以使用的内容:

#foreach ($communityname IN $namesParent.getChildren())
       $communityname.getData()  
#end
若在父字段中,除了这些字段之外,还有其他字段需要迭代,那个么我建议使用range并在循环中使用它对childs进行迭代

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