You are here

public function ViewfieldServiceProvider::alter in Viewfield 8.3

Modifies existing service definitions.

Parameters

ContainerBuilder $container: The ContainerBuilder whose service definitions can be altered.

Overrides ServiceProviderBase::alter

File

src/ViewfieldServiceProvider.php, line 18

Class

ViewfieldServiceProvider
Service Provider for Viewfield

Namespace

Drupal\viewfield

Code

public function alter(ContainerBuilder $container) {
  $modules = $container
    ->getParameter('container.modules');
  if (isset($modules['hal'])) {

    // Hal module is enabled, add our new normalizer for viewfield items.
    $service_definition = new Definition('Drupal\\viewfield\\Normalizer\\ViewfieldNormalizer', array(
      new Reference('hal.link_manager'),
      new Reference('serializer.entity_resolver'),
    ));
    $service_definition
      ->addTag('normalizer', array(
      'priority' => 20,
    ));
    $container
      ->setDefinition('serializer.normalizer.viewfield_item', $service_definition);
  }
}