Multi-entity Full Calendar Display
Changes pushed to GitLab. Please tag releases on GitLab and
update Packagist for rsvp-system-module and
rsvp-system-theme, then let me know when done.
Here's how Option C works — no SQL UNION, no JS timing hacks:
The trick: hook_views_post_render receives
&$display_handler->output, which IS the fullcalendar style
plugin's render array. By that point the style plugin has
already called prepareAttached() and written the FullCalendar
event source into drupalSettings.fullcalendar['js-view-dom-i
d-{dom_id}'].options.eventSources. We can simply append
another array of event objects to that eventSources list
right there in PHP.
The FullCalendar JS then receives the combined event source —
rsvp_event nodes from the normal view query, EventInstances
from our hook — and renders them all on the same calendar
grid.
EventInstances get an fc-recurring-event CSS class so you can
style them differently (different color, etc.) once you
confirm it's working.
One thing to watch: the eventinstance date__value stored as
2026-03-03T19:00:00 will be treated as UTC and converted to
site timezone (same as the fullcalendar module does for other
date fields). If the events show up at wrong times after
testing, the dates in the DB might already be in local time
rather than UTC — easy fix, just remove the UTC→local
conversion.