HDBLOG


Kategorien


Neueste Beiträge


Neueste Kommentare


Archive


HDNET GmbH & Co. KG


Ravensbeger Str. 22
33824 Werther (Westf.)
Impressum | Datenschutz

HDBLOG

/ 29

TYPO3

Calendarize: Der etwas bessere TYPO3 Kalender

19th Februar 2016

Es gibt viele Kalender-Extensions für TYPO3 – bei speziellen Anforderungen stößt man jedoch häufig an die Grenzen dieser Erweiterungen. Die Calendarize-Extension geht in dieser Hinsicht einen anderen Weg und bietet die benötigte Flexibilität und Erweiterbarkeit, die man sich von einem TYPO3 Kalender wünscht.

Mit Calendarize alles „kalenderifizieren“

Mit dem TYPO3 Kalender Calendarize lassen sich Events, News und andere Ereignisse in einer strukturierten Darstellung bündeln – unabhängig davon, wie diese eingepflegt wurden. Der Entwickler wählt dazu einfach das gewünschte Ereignis aus und fügt die Kalenderifizierungs-Optionen hinzu. Anschließend können die gewünschten Konfigurationen vom Redakteur vorgenommen werden, um das Ereignis zu steuern. Die Calendarize-Extension bietet zum Beispiel folgende Möglichkeiten:

  • zeitliche Steuerung
    wahlweise ganztägig oder mit Uhrzeit | Open End möglich
  • Einschluss- und Auschlussdaten
    Ausschlussgruppen wie z.B. Ferien
  • Frequenz- und Intervallsteuerung
    3. Montag im Monat | jede 2. Woche | 20 Dienstage in Folge, aber einen davon nicht
Beispiel einer Ausschlussliste

Beispiel einer Ausschlussliste

Der TYPO3 Kalender für alle Fälle

Die Erweiterbarkeit der Calendarize-Extension steht im Fokus. So können eigene Event-Strukturen geschaffen und um die chronologische Komponente eines Kalenders erweitert werden. Dadurch ist es nicht mehr wichtig, ob das Event einem Ort, einer Kategorie oder ähnlichem zugewiesen ist. Die Struktur der Daten wird selbst vorgenommen und im Anschluss „kalenderifiziert“.

Über die Kalenderifizierungs-Optionen werden dem Ereignis (Event, News, etc.) alle benötigten Einstellungen zugewiesen und indexiert. Der Index ermöglicht die Darstellung aller kalenderifizierten Daten in einer chronlogischen (Tags, Woche, Monat, Jahr) und strukturierten (Liste, Suche, Detail) Ansicht. Diese Kombination von verschiedenen Ereignissen ist mit anderen TYPO3 Kalendern ohne weiteres so nicht möglich.

Frequenzsteuerung des TYPO3 Kalender

Frequenzsteuerung des TYPO3 Kalender

Vorteile der Calendarize-Extension

  • bestehende Datenstrukturen als Ereignisse aufnehmen
  • verschiedene Arten von Ereignissen bündeln
  • flexible Datenstrukturen nach den eigenen Anforderungen
  • eigene Ausschlusslisten anlegen
  • uvm.

Mit Calendarize steht ein TYPO3 Kalender zur Verfügung, der sich bei so gut wie jedem Anwendungsfall einsetzen lässt.

Was Redakteur und Entwickler über die Extension wissen müssen zeige ich in diesem Video:


Für Entwickler:

Die Extension kann über das TYPO3 Extension Repository heruntergeladen werden. Die Entwicklung findet auf GitHub statt. Jede Art von Feedback ist gerne gesehen!

Kommentare

  • hastacaramba
    23:46 am 30. Januar 2017
    hastacaramba
    Antworten Autor

    Hi, super Extension! Mir persönlich fehlt nur ein Feature: ics / iCal Export von Kalendern. Danke und viele Grüße, hastacaramba

  • Chris
    14:02 am 3. Juli 2017
    Chris
    Antworten Autor

    Hi Tim, vielen Dank für die super Extension. Allerdings musste ich soeben feststellen, dass die EXT calendarize_news im TER nur bis 8.1.99 freigegeben ist. Bräuchte die EXT für 8.7.x. Wärest du so freundlich und würdest die Version heben? Auf Github liegt ja bereits die neuste Version.

    Beste Dank und liebe Grüße,
    Chris

    • Tim Lochmüller
      14:26 am 3. Juli 2017
      Tim Lochmüller
      Antworten Autor

      Hallo Chris. Am besten ist, dass du dazu ein Github Issue aufmachst. Alternativ kannst du natürlich via Composer direkt auf „dev-master#1069e95ccdcee2edf202449e34a423c6f335374a as 2.0.0“ arbeiten. Bevor ich einen neuen Release machen werde, muss ich noch ein paar Tests machen.
      Beste Grüße, Tim

  • Olaf Winkelmann
    15:10 am 21. Juli 2017
    Olaf Winkelmann
    Antworten Autor

    Hallo, Habe gerade die Extension installiert und wiederkehrende Termine getestet. Z.B. jeden Donnerstag um 18 Uhr. Im Novemer liegt der Termin dann plötzlich nicht mehr auf dem Donnerstag sondern auf dem Mittwoch. Passiert bei jedem Datum. Für Hilfe weäre cih dankbar. Vielen Dank und viele Grüße Olaf

    • Benjamin Hirsch
      15:43 am 21. Juli 2017
      Benjamin Hirsch
      Antworten Autor

      Hallo Olaf,
      ich würde dir an dieser Stelle gerne direkt helfen, kann es aber leider nicht. Wenn du ein wenig Geduld hast, dann könnte sich der Kollege, der die Extension entwickelt hat, sich deine Frage hier demnächst aber bestimmt anschauen. Alternativ kannst du ihn natürlich auch selbst direkt kontaktieren. Alle nötigen Informationen dafür findest du im TER: https://typo3.org/extensions/repository/view/calendarize

      Beste Grüße,
      Benjamin

    • Tim
      8:52 am 31. Juli 2017
      Tim
      Antworten Autor

      Hey Olaf, der Fehler ist uns bereits bekannt und wir prüfen dies im Moment: https://github.com/lochmueller/calendarize/issues/169
      Wenn du weitere technische Infos hast oder schon selbst Tests gemacht hast, dann freuen wir uns über weitere Feedback in dem Ticket, sodass wir schnell zu einer Lösung kommen.

      Beste Grüße,
      Tim

      • Ralf Hoffmann
        12:04 am 3. Oktober 2017
        Ralf Hoffmann
        Antworten Autor

        Hallo Tim,
        bei uns taucht dieser Fehler immer nur bei Wochen-Terminen auf, die auf einem Feiertag fallen. Wenn der Termin ein Feiertag ist, wird das Datum des Termins um einen Tag minimiert. Leider übernimmt die Extension dann diesen falsch korrigierten Tag und setzt alle weiteren Termine ebenfalls an diese falschen Tage.

        Das ist zwar eine nette Funktion, mir wäre es lieber wenn diese Tage in einer Liste rot gekennzeichnet würden und der User diese Termintag dann ggf. neu setzen könnte. Alle weiteren Termine nach dem Feiertag sollten jedoch wieder richtig generiert werden.

        LG
        Ralf

        • Tim Lochmüller
          8:29 am 4. Oktober 2017
          Tim Lochmüller
          Antworten Autor

          Hallo Ralf,
          danke für das Feedback. Fehler am besten an dieser Stelle sammeln, sodass nicht nur ich, sondern auch andere Entwickler Feedback dazu geben und den Fehler auch beheben können: https://github.com/lochmueller/calendarize/issues
          Generell klingt es aber nach einem falsch angelegten Termin. So wie ich das verstehe, hast du einen Termin mit einem Datum und einer Frequenz + Ausschluss Termine für z.B. Feiertage. Der oben beschriebende Fall kann eigentlich nicht eintreten, da, die Frequenz vollständig berechnet wird bevor die Feiertage aus diesen extrahiert werden. D.h. dass die Frequenz NICHT weiß, dass ein Feiertag einen Termin entfernt und somit auch die Frequenz nicht verschieben kann.
          Kannst du ggf. auch einmal prüfen ob es vielleicht an der Sommer-/Winterzeit Umstellung liegt? Falls du weitere Infos zu dem Fehler hast, am besten ein Issue auf Github aufmachen.
          Beste Grüße,
          Tim

  • Sonja Würden
    14:37 am 12. September 2017
    Sonja Würden
    Antworten Autor

    Eine tolle Extension, ich hätte aber folgende Frage, wäre es möglich die Uhrzeit bzw. „ganztägig“ auszublenden? Kunde wünscht eine Terminauflistung aber teilweise ohne Angabe der Uhrzeit.

  • Tim Lochmüller
    15:08 am 12. September 2017
    Tim Lochmüller
    Antworten Autor

    Hallo Sonja,
    klar ist das möglich. Dies kannst du über Anpassungen an den Templates steuern indem du die Informationen dort einfach entfernst.
    Beste Grüße,
    Tim

  • Julia Orlik
    12:00 am 24. Oktober 2017
    Julia Orlik
    Antworten Autor

    Hallo Tim,
    wir nutzen die Extension bereits seit längerer Zeit und kommen auch gut damit zurecht. Jedoch stellen wir uns die Frage ob es möglich ist, auch Termine die über ein Jahr in der Zukunft liegen anzeigen zu lassen? Wenn wir beispielsweise eine Veranstaltung am 22.12.2018 im Kalender anzeigen lassen wollen, erscheint diese erst am 22.12.2017 im Frontend.
    Wir würden uns über eine Antwort freuen!
    Bis dahin viel Grüße,
    Julia

    • Benjamin Hirsch
      13:45 am 24. Oktober 2017
      Benjamin Hirsch
      Antworten Autor

      Hallo Julia,

      leider ist Tim für einige Tage nicht im Haus. Ich lege ihm aber ein Ticket mit deiner Frage an und dann meldet er sich bestimmt auf deinen Kommentar. In der Zwischenzeit höre ich mich mal intern um – vielleicht findet sich auch so schon eine Antwort.

      Beste Grüße,
      Benjamin

    • Tim Lochmüller
      8:26 am 2. November 2017
      Tim Lochmüller
      Antworten Autor

      Hallo Julia,

      das klingt „mehr oder weniger“ nach einem Fehler und sollte ohne Probleme möglich sein. Ich habe dazu ein Ticket im Issue-tracker aufgemacht: https://github.com/lochmueller/calendarize/issues/191

      Ich werde dies in den nächsten Tagen prüfen. Weitere Fehler bzw. technische Rückfragen, kannst du direkt im Github unterbringen. Dort sehe ich es schneller und kann es besser prüfen, da alle Infos an einem Ort sind. https://github.com/lochmueller/calendarize

      Beste Grüße,
      Tim

    • Tim Lochmüller
      9:50 am 3. November 2017
      Tim Lochmüller
      Antworten Autor

      Hallo Julia,

      ich habe dies soeben überprüft und konnte das Problem NICHT nachstellen.
      Ich würde dich bitten es bei dir nochmals zu prüfen ggf. mit der aktuellsten Git Version zu testen und den Fehler inkl. Konfiguration bei Github zu melden, wenn dieser noch Bestand hat.

      Beste Grüße,
      Tim

      • Julia Orlik
        16:24 am 7. November 2017
        Julia Orlik
        Antworten Autor

        Hallo Tim,
        vielen Dank für deine Antwort.
        Wir haben den Kalender in der Listenansicht eingebunden und können dort unter den Erweiterungsoptionen (Reiter Listenansicht) nur die Endzeiteinstellung „Ein Jahr von jetzt an“ aus dem Dropdown–Menü auswählen. Diese Optionen ist also also die weitreichendsten in unserem System – Könnte die Problematik eventuell daran liegen?

        Viele Grüße,
        Julia

  • Jonny
    11:44 am 1. November 2017
    Jonny
    Antworten Autor

    Hi Leute,

    ich bin Einsteiger in Typo3 und würde gerne mit Calendarize eine flexible Monatsansicht realisieren, mit der man über zwei Pfeile den Monat davor und danach auswählen kann. Die Monatsansicht die mir aktuell angezeigt wird ist eine einfache Tabelle.

    Wäre super dankbar, wenn ihr mir Tips geben könntet wie ich das realisieren könnte.

    • Tim Lochmüller
      8:22 am 2. November 2017
      Tim Lochmüller
      Antworten Autor

      Hey Jonny, mit Tabelle meinst du aber schon die Monatsansicht, oder? Diese kann optisch gestaltet werden. Die Pfeile zum blättern erscheinen, sobald du im Plugin die PID für die Monatsseite eingepflegt hast. Wenn du das ganze optisch ein wenig aufbereitet haben willst, dann kann du über die Konstanten fullcalendar.io aktivieren. Dann wird die Monatsansicht automatisch mit fullcalendar.io erzeugt… Grüße, Tim

  • Jonny
    15:05 am 6. November 2017
    Jonny
    Antworten Autor

    Hi Tim,

    genau. Mit Tabelle meinte ich die Monatsansicht. Das mit dem PID hat auch wunderbar geklappt. Die Pfeile sind jetzt da. Vielen Dank dafür.

    Fullcalender.io hab ich auch mit Moment.js zusammen über die Konstanten aktiviert. Allerdings ändert sich nichts an der Darstellung. Muss ich da noch etwas bestimmtes beachten?

  • Tim Lochmüller
    10:19 am 7. November 2017
    Tim Lochmüller
    Antworten Autor

    Hallo Jonny,

    wenn du das TS von der Extension geladen hast und dann die Konstanten bei dir angepasst hast, dann sollten automatisch die passenden Resourcen geladen werden. Ggf. hast du die Konstanten an der falschen Stelle gesetzt. Prüf‘ dies am besten einmal im Konstanten Editor und im Object Browser.

    Beste Grüße,
    Tim

  • Jonny
    21:29 am 7. November 2017
    Jonny
    Antworten Autor

    Hey Tim,

    nachdem ich mit deinem Fix#191 aktualisiert habe hat alles geklappt. Irgendwas hat in der month.html bei mir nicht gestimmt. Jetzt passt alles.

    Super und vielen Dank für den Service.

    Bin sehr froh über die Extension. Ist echt ne super Sache.

  • Mike
    16:36 am 21. November 2017
    Mike
    Antworten Autor

    Hi,
    zunächst einmal vielen Dank für diese tolle Extension.

    Ich habe allerdings ein Problem bei der Lokalisation der Wochentagsnamen in der Monatsansicht.
    Diese werden nämlich in der englischen Schreibweise ausgegeben und nicht in Deutsch.

    Beispiel: Thu, 02.11.

    Leider konnte ich in den Docs keine Information dazu finden, wie man die Locale forcieren kann.
    Die Locales (de_DE, de_DE.utf8 etc) selbst sind auf dem Server vorhanden. Im TYPO3 Install Tool habe ich die Locale sicherheitshalber auch nochmal gesetzt, allerdings ohne Erfolg.

    Ebenso im Typoscript mittels:
    config {
    language = de
    metaCharset = utf-8
    locale_all = de_DE.utf8
    }

    Brachte allerdings auch nichts.
    Hast Du eine Idee, wie ich doch noch zu meinen deutschen Wochentagsnamen kommen könnte?

    Vielen Dank im Voraus und beste Grüße
    Mike

  • Frank
    11:49 am 28. November 2017
    Frank
    Antworten Autor

    Ich verwende die Extension auf einer zweisprachigen Website (Deutsch, Englisch), die noch nicht online ist.
    Zu jedem Eintrag („Ereignis“) lege ich im SysOrdner im Backend eine englische Übersetzung an. Die Mehrsprachigkeit funktioniert im Frontend, nur ergibt sich dieser Umstand:

    In der Monatsansicht, beispielsweise, werden die Einträge je Tag als Unordered List ausgegeben:
    <a href=“…“ rel=“nofollow“>Veranstaltung 1</a>.

    In der deutschen Sprachversion:
    Bullet Veranstaltung 1
    Bullet leer

    In der englischen Sprachversion:
    Bullet leer
    Bullet Event 1

    Es wird also für die gerade nicht aktive Sprache ein Listenelement mit leerem Linktext generiert . Im Frontend dargestellt durch den schwarzen Bullet der Liste, hinter dem nichts folgt.

    Ist etwas besonderes zu beachten, damit dem nicht so ist?

    Vielen Dank und beste Grüße,
    Frank

    • Tim Lochmüller
      13:24 am 28. November 2017
      Tim Lochmüller
      Antworten Autor

      Hey Frank,
      ohne Einblick in das TYPO3 kann ich dies nicht prüfen. Du kannst hier einen Fehler-Report anlegen: https://github.com/lochmueller/calendarize/issues
      Bitte denk dran, ebenfalls technische Informationen mit aufzunehmen. U.a. Sprach-Einstellungen deiner Instanz, sodass ich den Fehler „nachbauen“ kann.
      Eine schnelle Lösung um das Problem zu korrigieren, wäre eine einfache Condition im Template. Ist aber nicht so schön und der Fehler sollte besser in der Daten-Selektion korrigiert werden.
      Grüße,
      Tim

  • Frank
    17:09 am 28. November 2017
    Frank
    Antworten Autor

    Hallo Tim,
    vielen Dank für die Antwort. Ich konnte auf die Schnelle mit Conditions keine Lösung erreichen.
    In typo3conf/ext/calendarize/Resources/Private/Partials/Month.html
    werden die Links in der Monatsansicht bei gesetzter detailPid in Zeile 47-49 gesetzt. Irgendwie wird bei der for each-Schleife nicht abgefragt (?), dass ein Listenelement (li) nur für die jeweilige Sprachversion generiert werden soll, so dass beispielsweise auf der deutschen Sprachversion ein Listenelement für die englische Sprachversion existiert, auch wenn dieses keinen Linktext beinhaltet. Checke es nicht ganz 🙂 Wenn ich etwas mehr Zeit habe, kann ich das Thema auch bei Github posten.

    Was anderes noch: Wenn ich wie oben beschrieben (Jonny) die Blätterfunktion für die Monatsansicht aktiviere, dann in den Dezember oder Januar etc. wechsele und dort auf einen Termin klicke, erscheint die Detailansicht. Klicke ich nun auf „Zurück“, bin ich wieder in der November-Monatsübersicht. Lässt sich dies so einstellen, dass man bei „Zurück“ wieder in dem Monat ist, von welchem man auf den Detail-Link klickte?

    Viele Grüße,
    Frank

  • Tim Lochmüller
    16:26 am 29. November 2017
    Tim Lochmüller
    Antworten Autor

    Hey Frank,

    jein. Es gibt dies bzgl. mehrere Möglichkeiten. Es sollte aber versucht werden, nicht zusätzliche URLs zu erzeugen (nicht so gut für Google). Erste Möglichkeit ist, einfach den Link auf eine history.back JS zu setzen und ggf. zusätzlich prüfen ob der Referrer die eigene Seite ist. Eine andere Möglichkeit ist, das Detail-Template zu ergänzen: https://github.com/lochmueller/calendarize/blob/master/Resources/Private/Templates/Calendar/Detail.html#L12 Anstatt auf die Liste zu linken, kann auch geprüft werden ob eine „monthPid“ im FlexForm gesetzt wurde. Wenn das der Fall ist, kannst du einen Link auf die Monatsansicht bauen (https://github.com/lochmueller/calendarize/blob/master/Classes/ViewHelpers/Link/MonthViewHelper.php) und als Datum das Datum des aktuellen Index übergeben. Dann wird ein Link mit passendem Monat und Jahr erzeugt. Letzteres ist glaub ich die „bessere Lösung“, welche gerne auch in die Extension aufgenommen werden kann (einfach bei Github ein Pull-Request einreichen).
    Beste Grüße,
    Tim
    PS: Technische Fragen sind im GitHub besser aufgehoben 😉

  • Frank
    13:21 am 14. Dezember 2017
    Frank
    Antworten Autor

    Hallo Tim,
    vielen Dank für die Antwort. Bezüglich der Mehrsprachigkeit (siehe oben 28. November 2017) habe ich jetzt ein bebildertes Issue auf Github verfasst:
    https://github.com/lochmueller/calendarize/issues/202

    Viele Grüße,
    Frank