I would like group entries first by what category they are in, than group by month based on a Date/Time field like this for example:
- Category 1
- February 2017
- Event 1
- March 2017
- Event 4 (in all categories)
- February 2017
- Category 2
- February 2017
- Event 2
- Event 5
- March 2017
- Event 4 (in all categories)
- February 2017
- Category 3
- March 2017
- Event 4 (in all categories)
- March 2017
Here is what I'm currently using:
{% set eventCategories = craft.categories.group('events').find() %}
{% set eventEntries = craft.entries.section('event').order('dayStart asc').limit(null) %}
{% for category in eventCategories %}
<h1>{{ category.title }}</h1>
{% for eventDate, entries in eventEntries | group("dayStart|date('F Y')") %}
<h2>{{ eventDate }}</h2>
<ul>
{% for entry in eventEntries.relatedTo(category).find() %}
<li>{{ entry.title }}</li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
Instead the output I'm getting is this:
- Category 1
- February 2017
- Event 1
- Event 4 (in all categories)
- March 2017
- Event 1
- Event 4 (in all categories)
- February 2017
- Category 2
- February 2017
- Event 2
- Event 5
- Event 4 (in all categories)
- March 2017
- Event 2
- Event 5
- Event 4 (in all categories)
- February 2017
- Category 3
- February 2017
- Event 4 (in all categories)
- March 2017
- Event 4 (in all categories)
- February 2017
Is there a way to stop the duplicates?
Thanks in advance.