Calendar extended

Aus Contao Community Documentation


Eine Erweiterung das Contao Kalenders. Diese Erweiterung ist entstanden, weil der Contao Kalender nicht genug Funktionalität hat.


Erweiterungs-Übersicht
Name des Entwicklers Kester Mielke (kmielke)
Version der Erweiterung 1.0.0
Kompatibilität mit Contao Version 2.9.4 - 2.9.5
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/calendar_extended.de.html


Allgemeines

Diese Erweiterung setzt sich aus den bereits vorhandene Erweiterungen calendar_timetable und event_recurrences zusammen. Hinzu kommt die Möglichkeit mit Feiertagen und Ferien zu arbeiten.

calendar_ext ist nicht 100% zu event_recurrences kompatibel. Vor der Installation der Erweiterung calendar_ext müssen alle Events angepasst werden, die die "Ausnahmen-Funktionalität" der Erweiterung event_recurrences verwenden. Es müssen alle Ausnahmen aus den Events gelöscht werden.

Zusätzlich sollten alle Events (Mehrere bearbeiten mit allen Feldern) mal neu gespeichert werden. Alternativ können natürlich alle Events neu angelegt werden.

Diese Erweiterung benötigt PHP 5.3.

Der Kalender

Der Kalender hat folgende neue Funktionen bekommen:

Hintergrundfarbe
Die gewählte Hintergrundfarbe wird für die Darstellung der Events in der Ausgabe benutzt. Aktuell ist es nur für den Kalender und den Stundenplan nutzbar.

Vordergrundfarbe
Die gewählte Vordergrundfarbe wird für die Darstellung der Events in der Ausgabe benutzt. Aktuell ist es nur für den Kalender und den Stundenplan nutzbar.

Ferienkalender
Ist diese Option aktiviert, so kann dieser Kalender in den Frontend-Modulen als Ferienkalender benutzt werden. Dies hat zur Folge, dass im Frontend keine Events mehr angezeigt werden, die sich mit den Events aus dem Ferienkalender überschneiden.

Events anzeigen
Ist diese Option aktiviert, so werden nur bestimmte Events angezeigt, auch wenn diese sich mit den Events aus dem Ferienkalender überschneiden. Hierzu muss dann eine Option im Event selber aktiviert werden.

Kalender-Auswahl

Die Events

Die Events haben folgende neue Funktionen bekommen:

Event immer anzeigen
Diese Option muss aktiviert werden, wenn das Event auch an einem Feiertag/Ferien angezeigt werden soll. Hierzu muss im Kalender die Option Events anzeigen aktiviert sein.

Events anzeigen

Die Wiederholungen der Events

Hier ist mit Abstand am meisten passiert.

Anhand des Intervall und der Anzahl der Wiederholungen wird das Enddatum der Wiederholungen berechnet (war schon immer so), und zur Orientierung angezeigt. Ändern man die Anzahl der Wiederholungen, wird das Datum angepasst. Eine Liste der Wiederholungen wird in der Auswahl für die Ausnahmen gespeichert.

Event Wiederholung

Die Option "Nur an Werktage" sogt dafür, dass das Event nicht an Wochenenden angezeigt wird.

Die Wiederholungen (erweitert)

In den erweiterten Wiederholungen ist es möglich Wiederholungen in einem anderen Intervall anzugeben, als es der Standard erlaubt.

Hier ist es nun möglich, zu sagen: "Ich möchte z.B. jeden dritten Mittwoch im Monat ein Event haben." Auch hier kann die Anzahl der Wiederholungen und Ausnahmen definiert werden. Die Handhabung ist hier identisch zu den normalen Wiederholungen.

Wiederholungsintervall

Die Ausnahmen

Die Anzahl der Wiederholungen, die im DropDown gespeichert werden kann in der Datei localconfig.php eingestellt werden.

$GLOBALS['TL_CONFIG']['tl_calendar_events']['maxRepeatExecptions'] = 365;

Für die Wiederholungen können nun Ausnahmen definiert werden. Für die Erstellung einer Ausnahme können folgende Werten gesetzt werden können.

  • Datum - Ist das Datum der Ausnahme. Hier kann ein vorhandenes Datum gewählt werden.
  • Aktion - Hier stehen drei Möglichkeiten zur Auswahl
    • nicht anzeigen - Das Event wird am Ausnahmetag noch angezeigt
    • verschieben - Das Event wird verschoben.
    • CSS Class hinzufügen - Das Event bekommt eine CSS Class exception
  • verschieben um - Wurde die Aktion verschieben gewählt, so kann hier das Event um diverse Tage verschoben werden
  • Startzeit - neue Startzeit für die Ausnahme
  • Endzeit - neue Endzeit für die Ausnahme

Der Bereich, um den ein Event verschoben werden kann ist ebenfalls konfigurierbar.

$GLOBALS['TL_CONFIG']['tl_calendar_events']['moveDays'] = 7;

Das gilt auch für die Uhrzeiten. In diesem Beispiel von 10:00 Uhr bis 22:00 im 30 Minuten Rhythmus.

$GLOBALS['TL_CONFIG']['tl_calendar_events']['moveTimes'] = '10:00|22:00|30';

Soll eine Ausnahme erstellt werden, bei der sich nur die Zeit des Events ändert, so wählt man die Aktion verschieben, verschieben um 0 Tage, und setzt die neuen Zeiten.

Frontend Module

Um alle Events im Frontend ausgeben zu können, wurde eine Class EventsExt erstellt, die von Events erbt, und diese entsprechend erweitert. Die neuen Module setzen darauf auf.

Frontend-Module

KM Kalender

Hier gibt es die zusätzliche Auswahl der Ferienkalender.

KM Eventlist

Hier gibt es die zusätzliche Auswahl der Ferienkalender, und die Möglichkeit, Event Wiederholungen auszublenden.

KM Stundenplan

Hier gibt es die zusätzliche Auswahl der Ferienkalender, und einige neue Template Einstellungen.

  • Datum anzeigen - Zeigt das Datum des Tages im Stundenplan an
  • Leere Tage nicht anzeigen - Tage ohne Events werden nicht dargestellt
  • Navigation anzeigen - Zeigt die Links für die Navigation der Kalenderwochen, wenn aktiviert
  • Link "Aktuelle Woche" anzeigen - Zeigt einen zusätzlichen Link, der zur aktuellen Woche navigiert.
Stundenplan

KM Jahresübersicht

Die Jahresübersicht zeigt alle Events eines Jahres in einer Übersicht an. Die Handhabung ist wie bei den anderen Modulen auch.

Jahresübsersicht

Offene Punkte

Für die kommenden Versionen stehen folgende Punkte noch auf der Agenda.

  • Jahresübersicht - Es fehlt noch ein Frontend Modul Jahresübersicht.
  • Wiederholungen für Feiertage/Ferien - Es können zwar Events mit Wiederholungen in diesen Kalendern gespeichert werden, allerdings hat es noch keine Auswirkung auf die anderen Kalender bei der Überschneidung von Events.
Ansichten
Meine Werkzeuge

Contao Community Documentation

<Kellner> und einmal Filet?
<backbone87> Nein Olli, nicht Philip!

Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge