cviebrock / twig-group
Twig filter that splits an array into a given number of groups (unlike batch, which splits the array based on items per group)
Installs: 3 619
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.0
- twig/twig: 1.*
This package is auto-updated.
Last update: 2024-11-05 18:54:29 UTC
README
Twig filter that splits an array into a given number of groups. This is different than the built-in batch
filter, which splits the array based on a given number of items per group..
Installation
The filter is registered at Packagist as cviebrock/twig-group and can be installed using composer:
composer require cviebrock/twig-group
Or just download the zip file and copy the file into your src folder.
Enable the extension:
$twig = new Twig_Environment($loader, $options); $twig->addExtension(new Cviebrock\Twig\GroupExtension());
If you are using Laravel and rcrowe/twigbridge, then enable the extension by adding an entry to the enabled
array in app/config/packages/rcrowe/twigbridge/extensions.php
:
'enabled' => [ ... 'Cviebrock\Twig\GroupExtension', ],
Usage
Assume we are starting with the following array:
[ 'John', 'Jane', 'Bill', 'Bob', 'Mary' ]
Pass the array and number of groups to the filter:
{{ array | group(2) }} // [ ['John', 'Jane', 'Bill'], ['Bob', 'Mary'] ] {{ array | group(3) }} // [ ['John', 'Jane'], ['Bill', 'Bob'], ['Mary'] ]
Optionally pass a second parameter which will pad out all the arrays so they have the same number of elements (similar to how the built-in batch
filter pads arrays:
{{ array | group(2, '-empty-') }} // [ ['John', 'Jane', 'Bill'], ['Bob', 'Mary', '-empty-'] ] {{ array | group(3, '-empty-') }} // [ ['John', 'Jane'], ['Bill', 'Bob'], ['Mary', '-empty-'] ]
Bugs, Suggestions and Contributions
Please use Github for bugs, comments, suggestions.
- Fork the project.
- Create your bugfix/feature branch and write your (well-commented) code.
- Commit your changes and push to your repository.
- Create a new pull request against this project's
master
branch.
Copyright and License
twig-group was written by Colin Viebrock and released under the MIT License. See the LICENSE file for details.
Copyright 2015 Colin Viebrock