Events
Several events can be used to modify the behaviour of EXT:reserve.
Available events
When register to an event you can always access the class where the event is fired. For additional items see column "Access to" in the table below.
Event class | Fired in class | Access to |
---|---|---|
SendReservationEmailEvent | CheckoutService | getMailMessage() |
ValidateOrderEvent | OrderValidator | getOrder();getErrorResults() |
Examples
Alter the Mail Object send after confirmation
To connect to an event, you need to register an event listener in your custom
extension. All what it needs is an entry in your
Configuration/
file:
services:
Vendor\Extension\EventListener\YourListener:
tags:
- name: event.listener
identifier: 'your-self-choosen-identifier'
method: 'methodToConnectToEvent'
event: JWeiland\Reserve\Event\SendReservationEmailEvent
Copied!
An example event listener can look like this:
<?php
declare(strict_types=1);
namespace Vendor\Extension\EventListener;
use JWeiland\Reserve\Event\SendReservationEmailEvent;
class YourListener
{
/**
* Do what you want...
*/
public function methodToConnectToEvent(SendReservationEmailEvent $event): void
{
$mailMessage = $event->getMailMessage();
// Do some stuff
$event->setMailMessage($mailMessage);
}
}
Copied!