Nextcloud (Schul-)Kalender in WordPress anzeigen

Nextcloud (Schul-)Kalender in WordPress anzeigen

Zur Zeit der Schulschließungen habe ich ja schon darüber geschrieben, wie wir Nextcloud an der Schule nutzen, um für alle Beteiligten eine Austauschplattform zu Verfügung zu haben. Da Nextcloud neben der Dateiablage auch eine Kalenderverwaltung beinhaltet, liegt es nahe, damit auch die Schultermine an zentraler Stelle zu verwalten. Termine sind gerade auch für die Schülerinnen und Schüler sowie deren Eltern wichtig, deswegen wollten wir als Schule die Termine auch auf der Homepage angezeigt haben. Wie das mit Nextcloud und WordPress geht, zeige ich in diesem Artikel.

Vorarbeiten in der Nextcloud

Wir haben in unserer Nextcloud mehrere Kalender angelegt, die teilweise öffentlich, teilweise aber auch nur intern genutzt werden sollen:

Übersicht über die Kalender in Nextcloud

Über das Freigabesymbol, das bei einem neu angelegten Kalender standardmäßig grau erscheint, kann man festlegen, ob der Kalender über einen Link geteilt werden soll (öffentlich) oder nur mit Benutzern innerhalb der Nextcloud (privat). Hier als Beispiel unser Schulkalender:

Kalender teilen

Der Kalender ist mit Nutzergruppen innerhalb der Nextcloud geteilt: Mitglieder der Gruppe Lehrkräfte können den Kalender nur lesen, Mitglieder der Gruppe Leitung können ihn bearbeiten, also neue Termin einpflegen oder bestehende Termine verändern. Zusätzlich ist der Kalender öffentlich geteilt über den Punkt “Link teilen”. Damit kann man den Kalender auch öffentlich verfügbar machen, z.B. über seine Schulhomepage. Dazu benötigt man den Abonnements-Link den man in die Zwischenablage kopieren kann, wenn man auf das Menu bei “Link teilen” klickt.

Abonnements-Link kopieren

Umsetzung in WordPress

Mit diesem Link kann man nun jede beliebige Software verwenden, die CalDav versteht, um die Kalenderdaten anzuzeigen. Da wir gerade unsere Homepage mit WordPress neu aufsetzen, demonstriere ich den Vorgang mit dem für WordPress verfügbaren Plugin ICS Calendar. Das Plugin ist sehr puristisch gehalten, verfügt aber über viele Möglichkeiten, das Aussehen der Anzeige zu verändern. Die Free-Version ist für viele Schulen bestimmt ausreichend, wer mehr möchte kann sich die Pro-Version kaufen.

Ist das Plugin installiert, kann man innerhalb einer Seite mit der Eingabe von

[ics_calendar url="Abonnenment-Link"]

den Kalender im Monatsformat anzeigen lassen. Innnerhalb der Anführungszeichen muss dann natürlich der vorhin kopierte Abonnement-Link eingefügt werden. Damit wäre die Anzeige bereits möglich, allerdings gibt es noch mehr Optionen, die man nutzen kann, um die Anzeige zu verbessern.

Mehrere Kalender (bei uns sind es im Moment vier) kann man in einer Übersicht anzeigen lassen, in dem man sie innerhalb der Anführungszeichen per Leerzeichen oder | getrennt eingibt, also

[ics_calendar url="Abonnenment-Link1 Abonnenment-Link2 ..."]

Zusätzlich kann man jeden Kalender mit einer Farbe darstellen lassen, sodass man die Kalendereinträge auch optisch gut unterscheiden kann. Leider ist mir keine einfache Möglichkeit bekannt die Farben der Nextcloud-Kalender zu übernehmen, so dass man sie manuell aus der Nextcloud einmal übertragen muss, wenn man die gleiche Farbe haben möchte. Den Eintrag ergänzt man dann um die Farben in Hex-Schreibweise

[ics_calendar url="Abonnenment-Link1 Abonnenment-Link2 ..."
 color="#0040ff #ff0000 ..."]

Eine weitere Option ist die Änderung der Bezeichnungen der Kalender, da die Abonnement-Links meistens den Nutzernamen des Kalenderbesitzers mitschicken. Dafür gibt es die Option feedlabel, bei der man wie vorher auch bei den Farben und Urls die Bezeichnungen in der richtigen Reihenfolge angibt.

[ics_calendar url="Abonnenment-Link1 Abonnenment-Link2 ..."
 color="#0040ff #ff0000 ..."
 feedlabel="Termine für Alle|Unterstufe|Mittelstufe|Oberstufe"]

Damit hat man im Prinzip eine funktionierende Ansicht für die Schulhomepage, kann aber natürlich noch die Möglichkeiten von dem Plugin nutzen, wie z.B. standardmäßige Wochen- oder Listenansicht, Anzeige von Start- und Endzeit eines Termins, usw.

Alle diese Möglichkeiten sind in der Plugin-Ansicht innerhalb des WordPress-Backends erlläutert, so dass man dort nachlesen sollte. Wem die Optionen nicht reichen, kann sogar eine Pro-Version kaufen, die weitere Einstellungen bietet.

So sieht im Moment unsere Konfiguration aus, die Abonnement-Links habe ich aus Gründen der Übersicht gekürzt

[ics_calendar url="Link1 Link2 Link3 Link4"
title="false"
color="#0040ff #ff0000 #ffff00 #11924f" 
feedlabel="Termine für Alle|Unterstufe|Mittelstufe|Oberstufe" showendtimes="true" 
hidealldayindicator="true" 
legendinline="true"]

Und so sieht das Ganze dann in der Umsetzung aus:

Januar 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Sonntag 1. Januar
  • Weihnachstferien
Montag 2. Januar
  • Weihnachstferien
Dienstag 3. Januar
  • Weihnachstferien
Mittwoch 4. Januar
  • Weihnachstferien
Donnerstag 5. Januar
  • Weihnachstferien
Freitag 6. Januar
  • Weihnachstferien
Samstag 7. Januar
Sonntag 8. Januar
Montag 9. Januar
  • Ideenchecks Q2
Dienstag 10. Januar
  • Ideenchecks Q2
Mittwoch 11. Januar
  • Ideenchecks Q2
Donnerstag 12. Januar
  • Ideenchecks Q2
Freitag 13. Januar
  • Ideenchecks Q2
Samstag 14. Januar
Sonntag 15. Januar
Montag 16. Januar
  • StuBo Informationswoche Q1
Dienstag 17. Januar
  • StuBo Informationswoche Q1
  • 12:00 – 18:00 Zeugniskonferenzen (unterrichtsfrei nach der 4. Stunde)
Mittwoch 18. Januar
  • Humboldtexkursion (Jgst. 5)
  • StuBo Informationswoche Q1
Donnerstag 19. Januar
  • Besuch des DLR 7d
  • Skifahrt EF
  • StuBo Informationswoche Q1
Freitag 20. Januar
  • Skifahrt EF
  • 11:00 – 11:30 Zeugnisausgabe 1. Halbjahr
Samstag 21. Januar
  • Skifahrt EF
Sonntag 22. Januar
  • Skifahrt EF
Montag 23. Januar
  • Projektwoche
  • Skifahrt EF
Dienstag 24. Januar
  • Projektwoche
  • Skifahrt EF
Mittwoch 25. Januar
  • Projektwoche
  • Skifahrt EF
Donnerstag 26. Januar
  • Projektwoche
  • Skifahrt EF
Freitag 27. Januar
  • Projektwoche
  • Skifahrt EF
  • 18:00 – 22:00 Humboldt Kulturnacht
Samstag 28. Januar
Sonntag 29. Januar
Montag 30. Januar
Dienstag 31. Januar
  • Check U Workshop Q1

Februar 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Mittwoch 1. Februar
Donnerstag 2. Februar
Freitag 3. Februar
Samstag 4. Februar
Sonntag 5. Februar
Montag 6. Februar
  • 9er BIZ Besuche
  • Humboldtexkursion (Jgst. 8 und 9)
  • 14:30 – 17:30 Elternsprechtag
Dienstag 7. Februar
  • 9er BIZ Besuche
  • Anmeldetag 1
Mittwoch 8. Februar
  • 9er BIZ Besuche
  • Anmeldetag 2
  • 19:00 – 21:00 Elternabend Pubertät (Eltern Sek 1)
Donnerstag 9. Februar
  • 9er BIZ Besuche
Freitag 10. Februar
  • 9er BIZ Besuche
Samstag 11. Februar
Sonntag 12. Februar
Montag 13. Februar
  • 18:00 – 19:00 Elternabend Potenzialanalyse 8er
Dienstag 14. Februar
  • Humboldtexkursion (Jgst. 7 und 8)
Mittwoch 15. Februar
Donnerstag 16. Februar
Freitag 17. Februar
  • beweglicher Ferientag
Samstag 18. Februar
Sonntag 19. Februar
Montag 20. Februar
  • Rosenmontag (unterrichtsfrei)
Dienstag 21. Februar
  • schulinterne Lehrerfortbildung (unterrichtsfrei)
Mittwoch 22. Februar
Donnerstag 23. Februar
Freitag 24. Februar
  • 18:00 – 21:00 Karnevalsparty
Samstag 25. Februar
Sonntag 26. Februar
Montag 27. Februar
Dienstag 28. Februar
  • 14:00 – 16:30 Lehrerkonferenz (unterrichtsfrei nach der 6. Stunde)

März 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Mittwoch 1. März
  • LSE 8 Mathe
Donnerstag 2. März
  • 19:00 – 21:00 Elternabend 8 zur Diff-Wahl
Freitag 3. März
Samstag 4. März
Sonntag 5. März
Montag 6. März
  • LSE 8 Englisch
Dienstag 7. März
Mittwoch 8. März
  • 8a Potenzialanalyse
  • 19:00 – 21:30 Schulkonferenz
Donnerstag 9. März
  • 8b Potenzialanalyse
Freitag 10. März
  • 8c Potenzialanalyse
  • VERA 9 Französisch
Samstag 11. März
Sonntag 12. März
Montag 13. März
Dienstag 14. März
  • LSE 8 Deutsch
  • 19:30 – 21:00 Elternabend 6 zur Sprachenwahl
Mittwoch 15. März
Donnerstag 16. März
  • Känguru Wettbewerb Mathematik
Freitag 17. März
Samstag 18. März
Sonntag 19. März
Montag 20. März
Dienstag 21. März
  • Humboldtexkursion (Jgst. 5 und 6)
  • 09:00 – 11:00 Schulkonzert Klassen 6
Mittwoch 22. März
Donnerstag 23. März
Freitag 24. März
  • EF/Q1 Ende 3. Quartal
  • 19:00 – 22:00 Frühlingskonzert der Big Band
Samstag 25. März
Sonntag 26. März
Montag 27. März
Dienstag 28. März
Mittwoch 29. März
Donnerstag 30. März
Freitag 31. März

April 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Samstag 1. April
Sonntag 2. April
Montag 3. April
  • Osterferien
Dienstag 4. April
  • Osterferien
Mittwoch 5. April
  • Osterferien
Donnerstag 6. April
  • Osterferien
Freitag 7. April
  • Osterferien
Samstag 8. April
  • Osterferien
Sonntag 9. April
  • Osterferien
Montag 10. April
  • Osterferien
Dienstag 11. April
  • Osterferien
Mittwoch 12. April
  • Osterferien
Donnerstag 13. April
  • Osterferien
Freitag 14. April
  • Osterferien
Samstag 15. April
Sonntag 16. April
Montag 17. April
Dienstag 18. April
Mittwoch 19. April
  • Abitur Naturwissenschaften
Donnerstag 20. April
  • Abitur LK Geisteswissenschaften
  • Humboldtexkursion (Jgst. 6 und 7)
Freitag 21. April
  • Humboldtexkursion (Jgst. 9 + 10)
Samstag 22. April
Sonntag 23. April
Montag 24. April
Dienstag 25. April
  • Abitur Spanisch
Mittwoch 26. April
  • Abitur Deutsch
Donnerstag 27. April
  • Abitur Englisch
  • Girls´and Boys´Day (8er)
Freitag 28. April
Samstag 29. April
Sonntag 30. April

Mai 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Montag 1. Mai
  • Tag der Arbeit
Dienstag 2. Mai
  • Abitur GK Gesellschaftswissenschaften
Mittwoch 3. Mai
  • Abitur Mathematik
  • 13:00 – 15:30 Lehrerkonferenz (unterrichtsfrei nach der 6. Stunde)
Donnerstag 4. Mai
Freitag 5. Mai
Samstag 6. Mai
Sonntag 7. Mai
Montag 8. Mai
  • 14:00 – 17:00 Elternsprechtag
Dienstag 9. Mai
Mittwoch 10. Mai
Donnerstag 11. Mai
  • 18:00 – 20:30 Schulkonferenz
Freitag 12. Mai
Samstag 13. Mai
Sonntag 14. Mai
Montag 15. Mai
Dienstag 16. Mai
Mittwoch 17. Mai
Donnerstag 18. Mai
  • Christi Himmelfahrt
Freitag 19. Mai
  • beweglicher Ferientag
Samstag 20. Mai
Sonntag 21. Mai
Montag 22. Mai
Dienstag 23. Mai
Mittwoch 24. Mai
  • Abitur 4. Fach (unterrichtsfrei)
  • 07:05 – 08:45 EF D zentrale Klausur
Donnerstag 25. Mai
  • Humboldtexkursion (Jgst. 5 und 6)
Freitag 26. Mai
Samstag 27. Mai
Sonntag 28. Mai
Montag 29. Mai
  • Pfingstmontag
Dienstag 30. Mai
  • Pfingstferien
Mittwoch 31. Mai
  • 07:05 – 08:45 EF M zentrale Klausur

Juni 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Donnerstag 1. Juni
Freitag 2. Juni
Samstag 3. Juni
Sonntag 4. Juni
  • Musikfahrt
Montag 5. Juni
  • 9er Praktikum
  • Musikfahrt
Dienstag 6. Juni
  • 9er Praktikum
  • Musikfahrt
Mittwoch 7. Juni
  • 9er Praktikum
  • Musikfahrt
Donnerstag 8. Juni
  • 9er Praktikum
  • Fronleichnam
Freitag 9. Juni
  • 9er Praktikum
Samstag 10. Juni
  • 9er Praktikum
Sonntag 11. Juni
  • 9er Praktikum
Montag 12. Juni
  • 8er Berufsfelderkundungen
  • 9er Praktikum
  • 11:00 – 17:00 Zeugniskonferenzen (unterrichtsfrei nach der 4. Stunde)
Dienstag 13. Juni
  • 8er Berufsfelderkundungen
  • 9er Praktikum
  • 18:00 – 20:00 Humboldt in Takt 1
Mittwoch 14. Juni
  • 8er Berufsfelderkundungen
  • 9er Praktikum
  • 18:00 – 20:00 Humboldt in Takt 2
Donnerstag 15. Juni
  • 8er Berufsfelderkundungen
  • 9er Praktikum
Freitag 16. Juni
  • 8er Berufsfelderkundungen
  • 9er Praktikum
  • 15:30 – 16:30 Abiturgottesdienst
  • 17:00 – 19:00 Abitur Entlassfeier
Samstag 17. Juni
  • 9er Praktikum
Sonntag 18. Juni
  • 9er Praktikum
Montag 19. Juni
  • 9er Praktikum
Dienstag 20. Juni
  • 9er Projekttag Praktikum
  • Zentraler Wandertag
Mittwoch 21. Juni
  • 09:45 – 10:00 Zeugnisausgabe - Ende des Schuljahres
Donnerstag 22. Juni
  • Beginn der Sommerferien
Freitag 23. Juni
Samstag 24. Juni
Sonntag 25. Juni
Montag 26. Juni
Dienstag 27. Juni
Mittwoch 28. Juni
Donnerstag 29. Juni
Freitag 30. Juni

Juli 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Samstag 1. Juli
Sonntag 2. Juli
Montag 3. Juli
Dienstag 4. Juli
Mittwoch 5. Juli
Donnerstag 6. Juli
Freitag 7. Juli
Samstag 8. Juli
Sonntag 9. Juli
Montag 10. Juli
Dienstag 11. Juli
Mittwoch 12. Juli
Donnerstag 13. Juli
Freitag 14. Juli
Samstag 15. Juli
Sonntag 16. Juli
Montag 17. Juli
Dienstag 18. Juli
Mittwoch 19. Juli
Donnerstag 20. Juli
Freitag 21. Juli
Samstag 22. Juli
Sonntag 23. Juli
Montag 24. Juli
Dienstag 25. Juli
Mittwoch 26. Juli
Donnerstag 27. Juli
Freitag 28. Juli
Samstag 29. Juli
Sonntag 30. Juli
Montag 31. Juli

Keine Termine.

August 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Dienstag 1. August
Mittwoch 2. August
Donnerstag 3. August
Freitag 4. August
Samstag 5. August
Sonntag 6. August
Montag 7. August
Dienstag 8. August
Mittwoch 9. August
Donnerstag 10. August
Freitag 11. August
Samstag 12. August
Sonntag 13. August
Montag 14. August
Dienstag 15. August
Mittwoch 16. August
Donnerstag 17. August
Freitag 18. August
Samstag 19. August
Sonntag 20. August
Montag 21. August
Dienstag 22. August
Mittwoch 23. August
Donnerstag 24. August
Freitag 25. August
Samstag 26. August
Sonntag 27. August
Montag 28. August
Dienstag 29. August
Mittwoch 30. August
Donnerstag 31. August

Keine Termine.

September 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Freitag 1. September
Samstag 2. September
Sonntag 3. September
Montag 4. September
Dienstag 5. September
Mittwoch 6. September
Donnerstag 7. September
Freitag 8. September
Samstag 9. September
Sonntag 10. September
Montag 11. September
Dienstag 12. September
Mittwoch 13. September
Donnerstag 14. September
Freitag 15. September
Samstag 16. September
Sonntag 17. September
Montag 18. September
Dienstag 19. September
Mittwoch 20. September
Donnerstag 21. September
Freitag 22. September
Samstag 23. September
Sonntag 24. September
Montag 25. September
Dienstag 26. September
Mittwoch 27. September
Donnerstag 28. September
Freitag 29. September
Samstag 30. September

Keine Termine.

Oktober 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Sonntag 1. Oktober
Montag 2. Oktober
Dienstag 3. Oktober
Mittwoch 4. Oktober
Donnerstag 5. Oktober
Freitag 6. Oktober
Samstag 7. Oktober
Sonntag 8. Oktober
Montag 9. Oktober
Dienstag 10. Oktober
Mittwoch 11. Oktober
Donnerstag 12. Oktober
Freitag 13. Oktober
Samstag 14. Oktober
Sonntag 15. Oktober
Montag 16. Oktober
Dienstag 17. Oktober
Mittwoch 18. Oktober
Donnerstag 19. Oktober
Freitag 20. Oktober
Samstag 21. Oktober
Sonntag 22. Oktober
Montag 23. Oktober
Dienstag 24. Oktober
Mittwoch 25. Oktober
Donnerstag 26. Oktober
Freitag 27. Oktober
Samstag 28. Oktober
Sonntag 29. Oktober
Montag 30. Oktober
Dienstag 31. Oktober

Keine Termine.

November 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Mittwoch 1. November
Donnerstag 2. November
Freitag 3. November
Samstag 4. November
Sonntag 5. November
Montag 6. November
Dienstag 7. November
Mittwoch 8. November
Donnerstag 9. November
Freitag 10. November
Samstag 11. November
Sonntag 12. November
Montag 13. November
Dienstag 14. November
Mittwoch 15. November
Donnerstag 16. November
Freitag 17. November
Samstag 18. November
Sonntag 19. November
Montag 20. November
Dienstag 21. November
Mittwoch 22. November
Donnerstag 23. November
Freitag 24. November
Samstag 25. November
Sonntag 26. November
Montag 27. November
Dienstag 28. November
Mittwoch 29. November
Donnerstag 30. November

Keine Termine.

Dezember 2023

Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag
Freitag 1. Dezember
Samstag 2. Dezember
Sonntag 3. Dezember
Montag 4. Dezember
Dienstag 5. Dezember
Mittwoch 6. Dezember
Donnerstag 7. Dezember
Freitag 8. Dezember
Samstag 9. Dezember
Sonntag 10. Dezember
Montag 11. Dezember
Dienstag 12. Dezember
Mittwoch 13. Dezember
Donnerstag 14. Dezember
Freitag 15. Dezember
Samstag 16. Dezember
Sonntag 17. Dezember
Montag 18. Dezember
Dienstag 19. Dezember
Mittwoch 20. Dezember
Donnerstag 21. Dezember
Freitag 22. Dezember
Samstag 23. Dezember
Sonntag 24. Dezember
Montag 25. Dezember
Dienstag 26. Dezember
Mittwoch 27. Dezember
Donnerstag 28. Dezember
Freitag 29. Dezember
Samstag 30. Dezember
Sonntag 31. Dezember

Keine Termine.

Nächste Termine auf der Startseite

Mit der Ansicht als Liste (view=”list”) kann man auch nur eine Übersicht der kommenden Termine anzeigen lassen. Wir nutzen das auf unserer Startseite. Dazu ist folgender Eintrag notwendig:

[ics_calendar url="link1 link2 link3 .." title="Termine" description="false" view="list" count="5" showendtimes="true" hidealldayindicator="true" format="d.m.y" legendstyle="none"]

Damit werden immer die nächsten 5 (count=”5″) anstehenden Termine aus den angegebenen Kalendern angezeigt. Die weiteren Parameter beeinflussen die Anzeige mit Datumsformat und Deaktivierung von Legende und Beschreibung, so dass nur die Termintitel dargestellt werden.

Eine Übersicht über alle möglichen Parameter findet man auf der Seite der Software selbst:

https://icscalendar.com/icsdocs/

Unseren fertigen Kalender findet man unter https://humboldtgymnasium-solingen.de/kalender/ und die Übersicht auf der Startseite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert