Skip to content

Kirby 4.5.0

$structure->group()

Groups the items by a given field or callback. Returns a collection with an item for each group and a collection for each group.

$structure->group(string|\Closure $field, bool $caseInsensitive = true): Kirby\Cms\Collection

Parameters

Name Type Default Description
$field * string|Closure
$caseInsensitive bool true Ignore upper/lowercase for group names

Return type

Kirby\Cms\Collection

Exceptions

Type Description
Kirby\Exception\Exception

Parent class

Kirby\Cms\Structure inherited from Kirby\Cms\Collection

Example

<!-- group the collection by the field `category` -->
<?php foreach ($page->yourField()->toStructure()->group('category') as $category => $group): ?>
  <h2><?= $category ?></h2>
  <ul>
    <?php foreach ($group as $item): ?>
    <li><?= $item->title() ?></li>
    <?php endforeach ?>
  </ul>
<?php endforeach ?>