This document is for an older version of



View latest version →

Demo Templates

Solspace Calendar includes a complete set of demo templates. These demo templates let you have a fully functioning area on your website with just a couple clicks! Further to this, it allows you to see real world examples of the template code in action, which will help you get acquainted with Solspace Calendar quicker.

Included in the demo templates is an implementation of the FullCalendar JS library. Users with appropriate administrative privileges will also be able to modify events.

Demo Templates Install

Installing the Demo Templates

To install the Demo Templates, simply visit the Settings page for Solspace Calendar and click on the Demo Templates nav item (Calendar > Settings > Demo Templates).

By default, the Demo Templates page will have calendar_demo as a directory name for your template path. You can change this to whatever you like. So for example, if you change the value to be willy_wonka, the demo templates will be installed to /willy_wonka/. Just be careful when naming this, as the Calendar Demo Templates utility could overwrite some of your existing site templates and/or asset files.

During installation of demo templates, Solspace Calendar will copy the template folders and files (as shown on page) to the /craft/templates/ directory. So using the above example, your templates would be located at /craft/templates/calendar_demo/.

Solspace Calendar will also look for an assets folder in your public directory and attempt to load CSS, JS, fonts and image files (as shown on page) to a folder inside that, named calendar_demo (using the example above). If an /assets/ directory does not exist, Solspace Calendar will attempt to create that directory as well.

And lastly, Solspace Calendar will create several template routes for you (as shown on page) for the demo templates to work correctly.

If you encounter any issues while attempting to install the demo templates, please see the Troubleshooting guide.


If you encounter any issues trying to install the demo templates, it's likely that your database user does not have sufficient privileges or your server configuration does not allow some or all of the actions.

If you cannot change or adjust your permissions or configuration, you can install the demo templates manually. To install them manually, refer to the Manual Install instructions below.

Manual Install

To install the demo templates manually, just follow the instructions below:

  1. Inside the /craft/plugins/calendar/codepack/ directory, copy the templates folder into the /craft/templates/ directory, and rename the Solspace Calendar templates folder to demo (so it should now be located at /craft/templates/demo/).
  2. In your root public directory, create a directory called assets if it does not already exist.
  3. Inside the /craft/plugins/calendar/codepack/ directory, copy the assets folder into the public /assets/ directory, and rename the Solspace Calendar assets folder to demo (so it should now be located at /assets/demo/).
  4. Copy and paste the following routes into your routes.php configuration file (/craft/config/routes.php):
'demo/month/(?P<year>\d{4})/(?P<month>\d{2})' => 'demo/month.html',
'demo/month/calendar/(?P<slug>[^\/]+)' => 'demo/month.html',
'demo/month/calendar/(?P<slug>[^\/]+)/(?P<year>\d{4})/(?P<month>\d{2})' => 'demo/month.html',
'demo/week/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/week.html',
'demo/week/calendar/(?P<slug>[^\/]+)' => 'demo/week.html',
'demo/week/calendar/(?P<slug>[^\/]+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/week.html',
'demo/day/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/day.html',
'demo/day/calendar/(?P<slug>[^\/]+)' => 'demo/day.html',
'demo/day/calendar/(?P<slug>[^\/]+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/day.html',
'demo/calendars/(?P<slug>[^\/]+)' => 'demo/calendars.html',
'demo/event/(?P<id>\d+)' => 'demo/event.html',
'demo/event/(?P<id>\d+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/event.html',
'demo/events/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/events.html',
'demo/export/event/(?P<id>\d+)' => 'demo/export.html',
'demo/export/calendar/(?P<id>\d+)' => 'demo/export.html',
'demo/fullcalendar/(?P<slug>[^\/]+)/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})' => 'demo/fullcalendar.html',
'demo/resources/event_data/(?P<id>\d+)' => 'demo/resources/event_data.html',

Visit your demo templates at: