> */ public static function getSubscribedEvents(): array { return [ [ 'event' => Events::POST_SERIALIZE, 'method' => 'addCustomMJML', ], ]; } public function addCustomMJML(ObjectEvent $event): void { if (!$this->config->isPublished()) { return; } $object = $event->getObject(); if (!$object instanceof Email) { return; } $grapesJsBuilder = $this->grapesJsBuilderModel->getRepository()->findOneBy(['email' => $object]); if (is_null($grapesJsBuilder)) { return; } // Add it to the serialized data. $visitor = $event->getContext()->getVisitor(); if ($visitor instanceof JsonSerializationVisitor && !empty($grapesJsBuilder->getCustomMjml())) { $visitor->visitProperty( new StaticPropertyMetadata( '', 'grapesjsbuilder', ['customMjml' => $grapesJsBuilder->getCustomMjml()] ), ['customMjml' => $grapesJsBuilder->getCustomMjml()] ); } } }