diff --git a/src/ParagraphsServiceProvider.php b/src/ParagraphsServiceProvider.php index b8ce007..9bd23e5 100644 --- a/src/ParagraphsServiceProvider.php +++ b/src/ParagraphsServiceProvider.php @@ -27,5 +27,15 @@ class ParagraphsServiceProvider extends ServiceProviderBase { $service_definition->addTag('event_subscriber'); $container->setDefinition('replicate.event_subscriber.paragraphs', $service_definition); } + + // Check for installed rest and hal modules. + if (isset($modules['rest']) && isset($modules['hal'])) { + $service_definition = new Definition( + 'Drupal\paragraphs\Normalizer\ParagraphFieldItemNormalizer', + [new Reference('rest.link_manager'), new Reference('serializer.entity_resolver')] + ); + $service_definition->addTag('normalizer', ['priority' => 20]); + $container->setDefinition('serializer.normalizer.paragraph_field_item.hal'); + } } }