fusionary / groupby-craft
A Craft plugin (Twig filter) for grouping entries.
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 24
Watchers: 2
Forks: 1
Open Issues: 0
Type:craft-plugin
Requires
- composer/installers: ~1.0
README
A Craft plugin (Twig filter) for grouping entries.
Note: I have no plan to update this plugin for Craft 3. See https://github.com/sjelfull/craft3-collections, which can do the same thing, but also much more.
Usage
param 1
: Attribute to group by, in dot notationparam 2
: Group un-grouped entries by a key. Defaults tofalse
, meaning un-grouped items are removed. These entries are always added to the end of the returned array.
{% set allEntries = craft.entries.section('blog').find() %}
{% set allEntriesByCat = allEntries|groupBy('myCategoryField.slug', 'unGrouped') %}
Examples
In it's simplest form, the groupBy
filter works like Craft's native group
filter.
{% set allEntries = craft.entries.section('blog').find() %}
{% set allEntriesByYear = allEntries|groupBy('postDate.year') %}
However, groupBy
can also group by nested objects:
{% set allEntriesByCat = allEntries|groupBy('myCategoryField.slug') %}
{% set allEntriesBySection = allEntries|groupBy('section.title') %}
And you can even get really crazy if you want:
{% set allEntriesByNestedCat = allEntries|groupBy('myEntriesField.myCategoryField.slug') %}
{% set allEntriesByMatrix = allEntries|groupBy('myMatrix.myEntriesField.dateField.localeDate') %}