Mercurial > hg > isophonics-drupal-site
diff core/modules/taxonomy/src/TermBreadcrumbBuilder.php @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line diff
--- a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php Thu Feb 28 13:21:36 2019 +0000 +++ b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php Thu May 09 15:33:08 2019 +0100 @@ -4,7 +4,9 @@ use Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface; use Drupal\Core\Breadcrumb\Breadcrumb; -use Drupal\Core\Entity\EntityManagerInterface; +use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait; +use Drupal\Core\Entity\EntityRepositoryInterface; +use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Link; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; @@ -14,13 +16,26 @@ */ class TermBreadcrumbBuilder implements BreadcrumbBuilderInterface { use StringTranslationTrait; + use DeprecatedServicePropertyTrait; /** - * The entity manager. + * {@inheritdoc} + */ + protected $deprecatedProperties = ['entityManager' => 'entity.manager']; + + /** + * The entity repository manager. * - * @var \Drupal\Core\Entity\EntityManagerInterface + * @var \Drupal\Core\Entity\EntityRepositoryInterface */ - protected $entityManager; + protected $entityRepository; + + /** + * The entity type manager. + * + * @var \Drupal\Core\Entity\EntityTypeManagerInterface + */ + protected $entityTypeManager; /** * The taxonomy storage. @@ -32,12 +47,19 @@ /** * Constructs the TermBreadcrumbBuilder. * - * @param \Drupal\Core\Entity\EntityManagerInterface $entityManager - * The entity manager. + * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager + * The entity type manager. + * @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository + * The entity repository. */ - public function __construct(EntityManagerInterface $entityManager) { - $this->entityManager = $entityManager; - $this->termStorage = $entityManager->getStorage('taxonomy_term'); + public function __construct(EntityTypeManagerInterface $entity_type_manager, EntityRepositoryInterface $entity_repository = NULL) { + $this->entityTypeManager = $entity_type_manager; + $this->termStorage = $entity_type_manager->getStorage('taxonomy_term'); + if (!$entity_repository) { + @trigger_error('The entity.repository service must be passed to TermBreadcrumbBuilder::__construct(), it is required before Drupal 9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED); + $entity_repository = \Drupal::service('entity.repository'); + } + $this->entityRepository = $entity_repository; } /** @@ -66,7 +88,7 @@ // Remove current term being accessed. array_shift($parents); foreach (array_reverse($parents) as $term) { - $term = $this->entityManager->getTranslationFromContext($term); + $term = $this->entityRepository->getTranslationFromContext($term); $breadcrumb->addCacheableDependency($term); $breadcrumb->addLink(Link::createFromRoute($term->getName(), 'entity.taxonomy_term.canonical', ['taxonomy_term' => $term->id()])); }