What does it do? 

The extension adds the content element Fullcalendar to TYPO3. It renders a calendar with different views (month, week, day, and several list views) and fills it from one or more event sources:

  • Google calendar feeds (records, need a Google Calendar API key)
  • iCal feeds (records, URL of an .ics file)
  • EXT:calendarize events (optional, selected by storage pages)
The calendar in the frontend with the month view, a filter button and events from several sources

The calendar in the frontend (month view)

Features 

  • Month, week, day and list views, switchable by visitors. The last chosen view is remembered in the browser.
  • A modal with the details of an event: description, duration, location (optionally with a link to Google Maps), organizer, an iCal download and buttons to the detail and booking pages of EXT:calendarize.
  • A category filter with groups of categories, so visitors can show and hide events. Their choice is remembered in the browser.
  • Colors per feed or per category.
  • Restriction of feeds and categories to frontend user groups.
  • Bootstrap 5 theme, configurable header and footer toolbar, time range, first day of the week, week numbers and more.
  • Settings can be defined for the whole site (Site Set settings or TypoScript constants) and overridden per plugin.

How it works 

The plugin outputs a container and the configuration of the calendar as JavaScript. A small Vue 3 application, bundled with FullCalendar, mounts into the container. Events from calendarize are loaded as JSON from a second plugin (a page type 1738665709), the other sources are loaded by FullCalendar directly from Google or the iCal URL.