Events

Events can be used to extend the functionality of Events.

The beforeRenderPdf event

Event handlers can override Ticket’s PDF generation by setting the pdf property on the event to a custom-rendered PDF. Plugins can get notified before the PDF or a ticket is being rendered.

use craft\commerce\events\PdfEvent;
use verbb\events\services\Pdf;
use yii\base\Event;

Event::on(Pdf::class, Pdf::EVENT_BEFORE_RENDER_PDF, function(PdfEvent $event) {
     // Roll out our own custom PDF
});

The afterRenderPdf event

Plugins can get notified after the PDF or a ticket has been rendered.

use craft\commerce\events\PdfEvent;
use verbb\events\services\PdfService as Pdf;
use yii\base\Event;

Event::on(Pdf::class, Pdf::EVENT_AFTER_RENDER_PDF, function(PdfEvent $event) {
     // Add a watermark to the PDF or forward it to the accounting dpt.
});

The beforeSaveEvent event

Plugins can get notified before an event is saved. Event handlers can prevent the event from getting saved by setting $event->isValid to false.

use verbb\events\elements\Event as EventElement;
use yii\base\Event;

Event::on(EventElement::class, EventElement::EVENT_BEFORE_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $eventElement = $event->sender;
    $event->isValid = false;
});

The afterSaveEvent event

Plugins can get notified after an event has been saved

use verbb\events\elements\Event as EventElement;
use yii\base\Event;

Event::on(EventElement::class, EventElement::EVENT_AFTER_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $eventElement = $event->sender;
});

The beforeDeleteEvent event

The event that is triggered before an event is deleted.

The isValid event property can be set to false to prevent the deletion from proceeding.

use verbb\events\elements\Event as EventElement;
use yii\base\Event;

Event::on(EventElement::class, EventElement::EVENT_BEFORE_DELETE, function(Event $event) {
    $eventElement = $event->sender;
    $event->isValid = false;
});

The afterDeleteEvent event

The event that is triggered after an event is deleted.

use verbb\events\elements\Event as EventElement;
use yii\base\Event;

Event::on(EventElement::class, EventElement::EVENT_AFTER_DELETE, function(Event $event) {
    $eventElement = $event->sender;
});

The beforeSaveEventType event

Plugins can get notified before an event type is being saved.

use verbb\events\events\EventTypeEvent;
use verbb\events\services\EventTypes;
use yii\base\Event;

Event::on(EventTypes::class, EventTypes::EVENT_BEFORE_SAVE_EVENTTYPE, function(EventTypeEvent $event) {
     // Maybe create an audit trail of this action.
});

The afterSaveEventType event

Plugins can get notified after an event type has been saved.

use verbb\events\events\EventTypeEvent;
use verbb\events\services\EventTypes;
use yii\base\Event;

Event::on(EventTypes::class, EventTypes::EVENT_AFTER_SAVE_EVENTTYPE, function(EventTypeEvent $event) {
     // Maybe prepare some third party system for a new event type
});

The beforeSaveTicket event

Plugins can get notified before a ticket is saved. Event handlers can prevent the ticket from getting saved by setting $event->isValid to false.

use verbb\events\elements\Ticket;
use yii\base\Event;

Event::on(Ticket::class, Ticket::EVENT_BEFORE_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $ticket = $event->sender;
    $event->isValid = false;
});

The afterSaveTicket event

Plugins can get notified after a ticket has been saved

use verbb\events\elements\Ticket;
use yii\base\Event;

Event::on(Ticket::class, Ticket::EVENT_AFTER_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $ticket = $event->sender;
});

The beforeDeleteTicket event

The event that is triggered before a ticket is deleted.

The isValid event property can be set to false to prevent the deletion from proceeding.

use verbb\events\elements\Ticket;
use yii\base\Event;

Event::on(Ticket::class, Ticket::EVENT_BEFORE_DELETE, function(Event $event) {
    $ticket = $event->sender;
    $event->isValid = false;
});

The afterDeleteTicket event

The event that is triggered after a ticket is deleted.

use verbb\events\elements\Ticket;
use yii\base\Event;

Event::on(Ticket::class, Ticket::EVENT_AFTER_DELETE, function(Event $event) {
    $ticket = $event->sender;
});

The beforeCaptureTicketSnapshot event

Plugins can get notified before we capture a ticket’s field data, and customize which fields are included.

use verbb\events\elements\Ticket;
use verbb\events\events\CustomizeTicketSnapshotFieldsEvent;

Event::on(Ticket::class, Variant::EVENT_BEFORE_CAPTURE_TICKET_SNAPSHOT, function(CustomizeTicketSnapshotFieldsEvent $event) {
    $ticket = $event->ticket;
    $fields = $event->fields;
    // Modify fields, or set to `null` to capture all.
});

The afterCaptureTicketSnapshot event

Plugins can get notified after we capture a ticket’s field data, and customize, extend, or redact the data to be persisted.

use verbb\events\elements\Ticket;
use verbb\events\events\CustomizeTicketSnapshotDataEvent;

Event::on(Ticket::class, Ticket::EVENT_AFTER_CAPTURE_TICKET_SNAPSHOT, function(CustomizeTicketSnapshotFieldsEvent $event) {
    $ticket = $event->ticket;
    $data = $event->fieldData;
    // Modify or redact captured `$data`...
});

The beforeCaptureEventSnapshot event

Plugins can get notified before we capture an event’s field data, and customize which fields are included.

use verbb\events\elements\Event as EventElement;
use verbb\events\events\CustomizeEventSnapshotFieldsEvent;

Event::on(EventElement::class, EventElement::EVENT_BEFORE_CAPTURE_EVENT_SNAPSHOT, function(CustomizeEventSnapshotFieldsEvent $event) {
    $eventElement = $event->event;
    $fields = $event->fields;
    // Modify fields, or set to `null` to capture all.
});

The afterCaptureEventSnapshot event

Plugins can get notified after we capture an event’s field data, and customize, extend, or redact the data to be persisted.

use verbb\events\elements\Event as EventElement;
use verbb\events\events\CustomizeEventSnapshotDataEvent;

Event::on(EventElement::class, EventElement::EVENT_AFTER_CAPTURE_EVENT_SNAPSHOT, function(CustomizeProductSnapshotFieldsEvent $event) {
    $eventElement = $event->event;
    $data = $event->fieldData;
    // Modify or redact captured `$data`...
});

The beforeSavePurchasedTicket event

Plugins can get notified before a purchased ticket is saved. Event handlers can prevent the purchased ticket from getting saved by setting $event->isValid to false.

use verbb\events\elements\PurchasedTicket;
use yii\base\Event;

Event::on(PurchasedTicket::class, PurchasedTicket::EVENT_BEFORE_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $purchasedTicket = $event->sender;
    $event->isValid = false;
});

The afterSavePurchasedTicket event

Plugins can get notified after a purchased ticket has been saved

use verbb\events\elements\PurchasedTicket;
use yii\base\Event;

Event::on(PurchasedTicket::class, PurchasedTicket::EVENT_AFTER_SAVE, function(Event $event) {
    $isNew = $event->isNew;
    $purchasedTicket = $event->sender;
});

The beforeDeletePurchasedTicket event

The event that is triggered before a purchased ticket is deleted.

The isValid event property can be set to false to prevent the deletion from proceeding.

use verbb\events\elements\PurchasedTicket;
use yii\base\Event;

Event::on(PurchasedTicket::class, PurchasedTicket::EVENT_BEFORE_DELETE, function(Event $event) {
    $purchasedTicket = $event->sender;
    $event->isValid = false;
});

The afterDeletePurchasedTicket event

The event that is triggered after a purchased ticket is deleted.

use verbb\events\elements\PurchasedTicket;
use yii\base\Event;

Event::on(PurchasedTicket::class, PurchasedTicket::EVENT_AFTER_DELETE, function(Event $event) {
    $purchasedTicket = $event->sender;
});

Previous ← Purchased Ticket Next Available Variables →

Get started with Events

Available for Craft 4. Get it from the plugin store.