*/ class BeforeGetTemplatesListener implements IEventListener { public function __construct( private TemplateFieldService $templateFieldService, ) { } #[\Override] public function handle(Event $event): void { if (!$event instanceof BeforeGetTemplatesEvent) { return; } /** @psalm-suppress RedundantCondition */ if (method_exists($event, 'shouldGetFields') && !$event->shouldGetFields()) { return; } foreach ($event->getTemplates() as $template) { $templateId = $template->jsonSerialize()['fileid']; $fields = $this->templateFieldService->extractFields($templateId); $template->setFields($fields); } } }