gorriecoe / silverstripe-groupbycount
按指定数字数量分组列表
1.0.0
2018-03-07 21:31 UTC
Requires
- silverstripe/framework: ^4.0
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
不同,它返回该组的实际计数。