Developer Events & Hooks
If you wish to extend the capabilities of Calendar, you can use any of the events and hooks below:
Events for Calendar Events
\Solspace\Calendar\Services\EventsService
::EVENT_BEFORE_SAVE#- Called before saving the event data
\Solspace\Calendar\Events\SaveElementEventcontains these methods:getElement()- returns\Solspace\Calendar\Elements\EventisNew()- bool
::EVENT_AFTER_SAVE#- Called after saving the event data
\Solspace\Calendar\Events\SaveElementEventcontains these methods:getElement()- returns\Solspace\Calendar\Elements\EventisNew()- bool
::EVENT_BEFORE_DELETE#- Called before deleting an event
\Solspace\Calendar\Events\DeleteElementEventcontains these methods:getElement()- returns\Solspace\Calendar\Elements\Event
::EVENT_AFTER_DELETE#- Called after deleting an event
\Solspace\Calendar\Events\DeleteElementEventcontains these methods:getElement()- returns\Solspace\Calendar\Elements\Event
Events for Calendars
\Solspace\Calendar\Services\CalendarsService
::EVENT_BEFORE_SAVE#- Called before saving the calendar data
\Solspace\Calendar\Events\SaveModelEventcontains these methods:getModel()- returns\Solspace\Calendar\Models\CalendarModelisNew()- bool
::EVENT_AFTER_SAVE#- Called after saving the calendar data
\Solspace\Calendar\Events\SaveModelEventcontains these methods:getModel()- returns\Solspace\Calendar\Models\CalendarModelisNew()- bool
::EVENT_BEFORE_DELETE#- Called before deleting a calendar
\Solspace\Calendar\Events\DeleteModelEventcontains these methods:getModel()- returns\Solspace\Calendar\Models\CalendarModel
::EVENT_AFTER_DELETE#- Called after deleting a calendar
\Solspace\Calendar\Events\DeleteModelEventcontains these methods:getModel()- returns\Solspace\Calendar\Models\CalendarModel
Usage Examples
In your plugin's ::init() method, subscribe to any of these events by using the Event::on() static method:
<?php
namespace Your\Plugin\Namespace;
use Solspace\Calendar\Events\SaveElementEvent;
class YourPlugin extends BasePlugin
{
public function init()
{
parent::init();
// Forms
Event::on(
EventsService::class,
EventsService::EVENT_BEFORE_SAVE,
function (SaveElementEvent $event) {
$event = $event->getElement();
$isNew = $event->isNew();
// Do something with this data
}
);
}
}