他们是否可以根据自己而不是一个一个地遍历列表项目?我想以1,3,5,7,9和2,4,6,8的顺序遍历一系列字段。我试过像这样使用
<#list section.field as field>
<div class="col1">
${field.@label}:<input type="text"/></div>
<#if field_has_next>
<div class="col2">
${field[field_index+1].@label}:<input type="text"/>
</div>
</#if>
</#list>
但它给了我错误。
答案 0 :(得分:5)
这是(http://freemarker.org/docs/ref_builtins_sequence.html#ref_builtin_chunk)的?chunk
:
<#list section.field?chunk(2) as row>
<#list row as field>
<div class="col${field_index + 1}">
${field.@label}: <input type="text"/>
</div>
</#list>
</#list>
否则,我不知道您的解决方案会出现什么错误,但肯定会有错误显示所有字段,但最后一次显示两次。您可以使用
之类的东西自由地使用索引<#assign fields = section.field>
<#assign idx = 0>
<#list 0..999999 as _>
<#if idx == fields?size><#break></#if>
... even column ...
<#assign idx = idx + 1>
<#if idx == fields?size><#break></#if>
... odd column ...
<#assign idx = idx + 1>
</#list>
...
但是你看,它并不适合FreeMarker(它非常冗长)。