gorriecoe/silverstripe-groupbycount

按指定数字数量分组列表

安装: 387

依赖项: 0

建议者: 0

安全: 0

星星: 5

关注者: 3

分支: 1

公开问题: 0

类型:silverstripe-vendormodule

1.0.0 2018-03-07 21:31 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:35 UTC


README

按指定数字数量分组列表

安装

Composer是安装SilverStripe模块的推荐方式。

composer require gorriecoe/silverstripe-groupbycount

要求

  • silverstripe/cms ^4.0

维护者

使用

以下是一个标准的链接列表

<% if Links %>
    <ul>
        <% loop Links %>
            <li>
                <a href="$Link">$Title</a>
            </li>
        <% end_loop %>
    </ul>
<% end_if %>

假设我们有5个链接,并希望将它们分成每组2个。

<% if Links %>
    <% loop Links.GroupByCount(2) %>
        <ul>
            <% loop Items %>
                <li>
                    <a href="$Link">$Title</a>
                </li>
            <% end_loop %>
        </ul>
    <% end_loop %>
<% end_if %>

输出

<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
</ul>

现在假设我们有8个链接,并希望分组,使得第一个组有2个链接,第二个组有3个,第三个组有1个,然后重复此模式。

<% if Links %>
    <% loop Links.GroupByCount(2,3,1) %>
        <ul>
            <% loop Items %>
                <li>
                    <a href="$Link">$Title</a>
                </li>
            <% end_loop %>
        </ul>
    <% end_loop %>
<% end_if %>

输出

<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>

最后假设我们有11个链接,第一个组将有2个链接,而所有剩余的组将有3个。

<% if Links %>
    <% loop Links.GroupByCount(2,3__) %>
        <ul>
            <% loop Items %>
                <li>
                    <a href="$Link">$Title</a>
                </li>
            <% end_loop %>
        </ul>
    <% end_loop %>
<% end_if %>

输出

<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>
<ul>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
    <li>
        <a href="#">title</a>
    </li>
</ul>

计数与MaxCount

在每个组中有一个$MaxCount,它返回该组的定义计数。这与$Count不同,它返回该组的实际计数。