First, looks like you want to make your life complicated, why not simply get the date like this
<div>
<?php echo $page->date('d.m.Y') ?>
</div>
instead of using strftime and outputting every date element separately?
I actually had a similar task, but I use a startdate and an enddate in the events rather than just the day of week. Then you can get all dates in between those two dates, and take it from there. The DateTime PHP class is your friend, it gives you methods to create intervals etc.
The num option is only relevant for the sorting number when the page is visible. There is no manual sorting like with files. It wouldn’t help you at all, by the way, because your event is a repeating event, how do you want to sort that manually?
For what sort of time period do you want to output the events? If you want an easy way, you could loop through the days of a week or month, check for each day if an event fits that date or - if the date is empty - if the weekday fits, and then output that event.
However, are you sure an event always takes place on a certain weekday, without any exceptions? What about public holidays etc.?
This is part of my event blueprint:
start_date:
icon: calendar
label: Startdatum
type: date
width: 1/4
required: true
end_date:
icon: calendar
label: Enddatum
type: date
width: 1/4
required: true
start_time:
label: Anfang
type: time
interval: 15
width: 1/4
end_time:
label: Ende
type: time
interval: 15
width: 1/4
event_location:
label: Veranstaltungsort
type: select
width: 1/3
options: query
query:
page: veranstaltungsorte
fetch: children
value: '{{location_name}}'
text: '{{location_name}}'
event_repeat:
label: Wiederkehrendes Ereignis?
type: select
width: 1/3
default: no
required: true
options:
no: nein
"1 day": Täglich
"1 week": Wöchentlich
"2 weeks": Zweiwöchentlich
"1 month": Monatlich
exceptions:
label: Ausnahmen
type: structure
style: table
fields:
date:
label: Datum
type: date
width: 1/3