I have a handful of events I need color coded.

Here is my setup: Solspace Calendar using the Full Calendar theme, and setup by using this guide.

Currently, everything works beautifully.

I am gathering events by using multiple .ics files under the Calendar Module section. Each .ics file will be all the events for that category. Example: publicevents.ics would post all the Public Events, and publicmeetings.ics would post all the Public Meetings, and so on.

So far I've created all needed categories under Admin >> Channel Administration >> Categories.

Here are my questions:

  1. Can I color code these events by category on the front end with this set up?
  2. How would I link each separate .ics file to a class so that it can display that color?

I'm assuming I can just use...

{if category_id="13"} class="category1" {/if}

...once I can figure out how to link each separate .ics file with a class?

Any help is greatly appreciated and thank you for your time.

2 Answers 2


Calendar will not support the automated import/assigning of EE Categories through ICS import. You would have to enter these all in manually after the fact to get it to work.

I am not exactly sure how your workflow is, and how you're currently using the built in "calendars" option (where you create and manage calendars (channel entries) that events get assigned to), but I would suggest that you use calendars as your "categories" if possible. And because the use of calendars is expected, you'll have much better support for that functionality throughout the Calendar add-on. :)

  • Hi Solspace, thanks for the reply! Am I understanding this correctly: You're suggesting I create multiple calendars, each with its own .ics file with events? If so, would I be able to use a drop down box to select 'Public Events' but really it would be pulling a calendar ID with the public events .ics only? And for 'All Events', I would have another calendar ID with ALL .ics files? Even then... all of those events would still need to be color coded... I'm so lost!!
    – compiled
    Commented Jul 31, 2014 at 17:34
  • Also: The calendar is setup through channels and using fields (I think this is default?). Hope I answered that correctly.
    – compiled
    Commented Jul 31, 2014 at 17:39
  • Oh!! I just had an idea. Can I create more .ics fields? How does your calendar determine the .ics field (is it calendar_ics_url)? Can I change this internally?
    – compiled
    Commented Jul 31, 2014 at 18:13
  • 1
    Am I understanding this correctly: You're suggesting I create multiple calendars, each with its own .ics file with events? Yes. That's correct. For color-coding, you can use conditionals checking for calendar_id or calendar_name, and output the color you need depending on the id/name. And no, you cannot create more .ics fields: those fields wouldn't import data. So 1 calendar = 1 color = 1 .ics file.
    – Solspace
    Commented Aug 1, 2014 at 4:53
  • 1
    If you don't provide a calendar_id or calendar_name, all events from all calendars would display in tags such as {exp:calendar:cal} or {exp:calendar:events}. The {event_calendar_id} variable is still available within these tags for color-coding according to calendar, though. Eg. {if event_calendar_id = "123"}red{/if}{if event_calendar_id = "456"}green{/if}{if event_calendar_id = "789"}blue{/if}. If you're using a dropdown to send a calendar_id to a template using Calendar tags, you could have an option with an empty value to send no particular calendar_id, i.e. "all events".
    – Solspace
    Commented Aug 4, 2014 at 1:01

So, after many many... many days (too many days) of trying to figure this out, I finally did and the answer was literally right under our noses the entire time. We just didn't search through Full Calendar's documentation long enough. It is incredibly simple.

color: 'yellow',
textColor: 'black'

Full Calendar Documentation

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.