#9765 YOOtheme Pro plugin

Parent Category:
Integration plugins
Last Updated:
Allon Moritz, Monday, 27 May 2024 08:33 (4 weeks ago.)
Tuesday, 14 February 2023 07:20

This feature is part of the DPCalendar Professional subscription.
SubscribePHP 7.4PHP 8Joomla 3.10Joomla 4.4Joomla 5


The YOOtheme plugin integrates DPCalendar events and calendars as custom sources into the YOOtheme Pro page builder and offers new elements for any page layout. Beside that the list and event details menu items can be customized with the builder to fit the current design of the web site.

DPCalendar specific classes are turned into UIkit classes to fit better the YOOtheme Pro page builder design.

YOOtheme Pro DPCalendar integration

Dynamic content sources

When adding elements like a grid or list to a template, then DPCalendar events or calendars can be added as dynamic content. For menu items is page content available, for all other menu items are custom sources possible. More information about dynamic content can be found in the Official YOOtheme docs.


Every dynamic content source in YOOtheme has some filters like tags or authors. So does the events and calendars source. The calendars source has only other calendars to select. The event one has more attributes, they are explained her in more detail:

  • Calendars: The calendars to show the events from.
  • Start Date: The date where events should be listed which do not start or end before that date.
  • End Date: The date where events should be listed which do not start or end after that date.
  • Ongoing: Show ongoing events which are currently running.
  • Tags: Filter events by tags.
  • Authors: Filter events by authors. There are two special values. The "My" option shows events from the current logged in user, while the "Current user" option shows events from the current user in the contact details page.
  • Features: The featured filter shows only events which are featured.

The DPCalendar event fields are loaded directly from the form itself. To speed up fields building, the form is cached for a short time. Should there be any issue, with the event fields list. Clear the cache in the CMS cache manager.

YOOtheme dynamic content

Special dynamic content attributes

All event fields are available as dynamic content attributes. There are some compiled ones which do show some date in an aggregated way:

  • Content
    The event description.
  • Teaser
    The event intro text when available or a custom field with the name excerpt.
  • Link
    The link to the event details page.
  • Google Link
    The link to copy the event to google calendar.
  • ICS download Link
    The link to download the ics file.
  • Map Link
    The link to the map of the event of the map provider.
  • Map Directions Link
    The link to the map direction of the event of the map provider.
  • Date
    A compiled date string from the start and end date.
  • Scheduling
    The event recurrence rule as human readable string.
  • Locations
    The event locations as a comma separated string.
  • Rooms
    The event rooms as a comma separated string.
  • Coordinates 1/2/3
    The coordinates of a location which can be used in a map element. Currently are up to 3 locations supported.
  • Booking link
    The link to the booking form.
  • Price
    The event prices as a comma separated string.
  • Booking options
    The event booking options as a comma separated string.
  • Tickets text
    The text which is displayed in the event details view when the current uer has booked tickets for it. It contains also a link to the tickets list.


When creating a template for a list menu item, then are events available as page source where they are fetched by the menu item configuration.


Custom sources allow you to load custom queried DPCalendar events which are not automatically available on the page you are browsing. Like that it is possible to display the upcoming events or other event data from DPCalendar.

A side note, dates are not working in

Page builder

In DPCalendar it is possible to create a complete new layout for a list or event details menu item. Like that it is possible to integrate DPCalendar even better into your web site. As soon as a template is created for a calendar where the menu item is attached to, then the "Builder" option is available on the respective layout. More information can be found in the official YOOtheme docs about pages and posts.

YOOtheme builder


DPCalendar does come with specific elements which can be placed in any template of YOOtheme Pro. Currently is the event list and calendar element available.

If you want to add external calendars from Google, iCloud or Meetup, then you need to pass them with the plugin identifier. For example with a Google calendar you need to add them like "g-23", where 23 is the id of the calendar in the plugin. Here is a list of identifiers for our external calendars:

  • CalDAV: cad
  • CSV: c
  • Exchange: ec
  • Ical: i
  • Jitsi: ji
  • Jomsocial: js
  • Microsoft: mi
  • Spreadsheet: sp
  • SQL: sq
  • Zoho: zo
  • Zoom: z
YOOtheme builder

Event list

The calendar list element offers a fully flexible output for a list of events. It uses the moustache syntax as described in the Output rendering article. The Content plugin needs to be enabled as it interprets the code and does the transformation into the event list.


The calendar element does render the Javascript calendar from DPCalendar within the layout.

Class replacements

As DPCalendar is framework agnostic, it looks the same on every template. YOOtheme on the other side uses it's own CSS framework UIkit for styling it's pages. To combine both worlds, the YOOtheme Pro plugin is able to replace DPCalendar CSS classes with the ones from YOOtheme/UIkit. Actually it is able to replace any class with a replacement one.

The plugin comes out of the box with the most common replacements. But the site admin is able to add unlimited replacements, to adjust even better into the current design.

CSS classes replacements

Comments (0)

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.