navigation_plus-1.0.5/src/NavigationPlusServiceProvider.php

src/NavigationPlusServiceProvider.php
<?php

namespace Drupal\navigation_plus;

use Symfony\Component\DependencyInjection\Reference;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\DependencyInjection\ServiceProviderBase;
use Drupal\navigation_plus\Routing\AfterEntityWorkflowEnhancer;
use Drupal\navigation_plus\Routing\BeforeEntityWorkflowEnhancer;
use Drupal\navigation_plus\EventSubscriber\ReplaceMediaFieldAttributes;
use Drupal\navigation_plus\EventSubscriber\LayoutBuilderBlockAttributes;

class NavigationPlusServiceProvider extends ServiceProviderBase {

  /**
   * {@inheritdoc}
   */
  public function alter(ContainerBuilder $container) {
    $modules = $container->getParameter('container.modules');
    if (isset($modules['layout_builder'])) {
      $container->register('navigation_plus.event_subscriber.lb_block_attributes', LayoutBuilderBlockAttributes::class)
        ->addTag('event_subscriber')
        ->addArgument(new Reference('current_user'));
    }
    if (isset($modules['dropzonejs'])) {
      $container->register('navigation_plus.event_subscriber.replace_media', ReplaceMediaFieldAttributes::class)
        ->addTag('event_subscriber')
        ->addArgument(new Reference('entity_type.manager'))
        ->addArgument(new Reference('config.factory'));
    }
    if (isset($modules['entity_workflow'])) {
      $container->register('navigation_plus.before_entity_workflow_enhancer', BeforeEntityWorkflowEnhancer::class)
        ->addTag('route_enhancer', ['priority' => 10])
        ->addArgument(new Reference('navigation_plus.ui'));
      $container->register('navigation_plus.after_entity_workflow_enhancer', AfterEntityWorkflowEnhancer::class)
        ->addTag('route_enhancer', ['priority' => -10])
        ->addArgument(new Reference('navigation_plus.ui'));
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc