Mercurial > hg > isophonics-drupal-site
comparison core/modules/layout_builder/src/LayoutBuilderServiceProvider.php @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | 129ea1e6d783 |
children |
comparison
equal
deleted
inserted
replaced
17:129ea1e6d783 | 18:af1871eacc83 |
---|---|
3 namespace Drupal\layout_builder; | 3 namespace Drupal\layout_builder; |
4 | 4 |
5 use Drupal\Core\DependencyInjection\ContainerBuilder; | 5 use Drupal\Core\DependencyInjection\ContainerBuilder; |
6 use Drupal\Core\DependencyInjection\ServiceProviderInterface; | 6 use Drupal\Core\DependencyInjection\ServiceProviderInterface; |
7 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency; | 7 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency; |
8 use Drupal\layout_builder\Normalizer\LayoutEntityDisplayNormalizer; | |
9 use Symfony\Component\DependencyInjection\ChildDefinition; | |
8 use Symfony\Component\DependencyInjection\Definition; | 10 use Symfony\Component\DependencyInjection\Definition; |
9 use Symfony\Component\DependencyInjection\Reference; | 11 use Symfony\Component\DependencyInjection\Reference; |
10 | 12 |
11 /** | 13 /** |
12 * Sets the layout_builder.get_block_dependency_subscriber service definition. | 14 * Sets the layout_builder.get_block_dependency_subscriber service definition. |
13 * | 15 * |
14 * This service is dependent on the block_content module so it must be provided | 16 * This service is dependent on the block_content module so it must be provided |
15 * dynamically. | 17 * dynamically. |
16 * | 18 * |
17 * @internal | 19 * @internal |
20 * Service providers are internal. | |
18 * | 21 * |
19 * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency | 22 * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency |
20 */ | 23 */ |
21 class LayoutBuilderServiceProvider implements ServiceProviderInterface { | 24 class LayoutBuilderServiceProvider implements ServiceProviderInterface { |
22 | 25 |
29 $definition = new Definition(SetInlineBlockDependency::class); | 32 $definition = new Definition(SetInlineBlockDependency::class); |
30 $definition->setArguments([ | 33 $definition->setArguments([ |
31 new Reference('entity_type.manager'), | 34 new Reference('entity_type.manager'), |
32 new Reference('database'), | 35 new Reference('database'), |
33 new Reference('inline_block.usage'), | 36 new Reference('inline_block.usage'), |
37 new Reference('plugin.manager.layout_builder.section_storage'), | |
34 ]); | 38 ]); |
35 $definition->addTag('event_subscriber'); | 39 $definition->addTag('event_subscriber'); |
36 $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition); | 40 $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition); |
37 } | 41 } |
42 if (isset($modules['serialization'])) { | |
43 $definition = (new ChildDefinition('serializer.normalizer.config_entity')) | |
44 ->setClass(LayoutEntityDisplayNormalizer::class) | |
45 // Ensure that this normalizer takes precedence for Layout Builder data | |
46 // over the generic serializer.normalizer.config_entity. | |
47 ->addTag('normalizer', ['priority' => 5]); | |
48 $container->setDefinition('layout_builder.normalizer.layout_entity_display', $definition); | |
49 } | |
38 } | 50 } |
39 | 51 |
40 } | 52 } |