You are here

public function SocialCoreServiceProvider::alter in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  2. 8.2 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  3. 8.3 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  4. 8.4 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  5. 8.5 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  6. 8.6 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  7. 8.7 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  8. 8.8 modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  9. 10.3.x modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  10. 10.0.x modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  11. 10.1.x modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()
  12. 10.2.x modules/social_features/social_core/src/SocialCoreServiceProvider.php \Drupal\social_core\SocialCoreServiceProvider::alter()

Modifies existing service definitions.

Parameters

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

Overrides ServiceProviderBase::alter

File

modules/social_features/social_core/src/SocialCoreServiceProvider.php, line 20

Class

SocialCoreServiceProvider
Class SocialCoreServiceProvider.

Namespace

Drupal\social_core

Code

public function alter(ContainerBuilder $container) {

  // Overrides language_manager class to test domain language negotiation.
  $definition = $container
    ->getDefinition('entity.autocomplete_matcher');
  $definition
    ->setClass('Drupal\\social_core\\Entity\\EntityAutocompleteMatcher');
  $modules = $container
    ->getParameter('container.modules');

  // Check if select 2 is installed before we get the definition, otherwise
  // you get a requested a non-existent service "select2.autocomplete_matcher
  // on update hooks.
  if (isset($modules['select2'])) {
    $definition = $container
      ->getDefinition('select2.autocomplete_matcher');
    $definition
      ->setClass('Drupal\\social_core\\Entity\\Select2EntityAutocompleteMatcher');
  }

  // Check for installed layout_builder module.
  if (isset($modules['layout_builder'])) {

    // If it's installed we can register our service, using layout_builder
    // classes to check whether entities enabled layout builder.
    $service_definition = new Definition(LayoutService::class);
    $container
      ->setDefinition('social_core.layout', $service_definition);
  }
}