File: D:/HostingSpaces/SBogers84/zuiderbos.nl/app/views/layouts/partials/calender/overview.blade.php
<div class="calenderOverview">
{{-- Define current month and year for checks--}}
<?php $month = \Carbon\Carbon::today()->month;
$year = \Carbon\Carbon::today()->year; ?>
@foreach($page->school
->calenderItems()
->with('translation')
->orderBy('calender.start_date', 'asc')
->where('active', 1)
->where('calender.date', '>=', \Carbon\Carbon::today())
->get() as $key => $calenderItem
)
{{-- Check if the calender item isn't in the current defined month--}}
@if($calenderItem->getStartDate()->month != $month)
{{-- Set current month to the month of the calender item --}}
<?php $month = $calenderItem->getStartDate()->month; ?>
{{-- Same check for year --}}
@if($calenderItem->getDate()->year != $year)
<?php $year = $calenderItem->getDate()->year; ?>
<h3>{{$year}}</h3>
@endif
{{-- Show new month name --}}
<h4>{{ucfirst(trans('calender.months.'.$month))}}</h4>
@endif
{{-- Calender item info --}}
<article>
<div class="date">
{{$calenderItem->getStartDate()->format('d')}}
<sub>{{$calenderItem->getStartDate()->format('m')}}</sub>
</div>
<p>
<span>{{ucfirst(trans('calender.days.'.$calenderItem->getStartDate()->dayOfWeek))}} {{$calenderItem->getStartDate()->format('j')}} @lang('calender.months.'.$calenderItem->getStartDate()->format('n'))</span>
{{$calenderItem->translation->name}}
</p>
</article>
@endforeach
</div>