【问题标题】:How to split a list into groups of 4 items in FreeMarker?如何在 FreeMarker 中将列表拆分为 4 个项目组?
【发布时间】:2014-06-08 13:31:07
【问题描述】:

我有一个这样的 HTML 列表:

<ul>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
    <li>lorem lipsum..</li>
</ul>

我想将列表分成 4 个项目组:

<ul>
    <li class="group1">
        <ul>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
        </ul>   
    </li>
    <li class="group2">
        <ul>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
            <li>lorem lipsum..</li>
        </ul>   
    </li>
</ul>

我试过chunk:

<ul>
    <#assign seq = nav.getChildren()>
    <#list seq?chunk(4) as row>
        <#list row as nav_child>
            <li class="${nav_class}">
                <ul>
                    <li>${nav_child.getName()}</li>
                </ul>   
            </li>
        </#list>
    </#list>
</ul>

它适用于每个li,而不适用于一组 4 个li。所以每个li 都是li &gt; ul 内的包装器。 如何将 4 li 包裹在 li &gt; ul 内?

感谢任何帮助!谢谢!

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    像这样(重点是#list-s 的位置,但我也做了一些其他更改以提高可读性):

    <ul>
        <#list nav.children?chunk(4) as navChildGroup>
            <li class="${nav_class}">
                <ul>
                    <#list navChildGroup as navChild>
                        <li>${navChild.name}</li>
                    </#list>
                </ul>   
            </li>
        </#list>
    </ul>
    

    【讨论】:

      猜你喜欢
      • 2014-07-13
      • 2019-05-04
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多