.../FieldFormatter/EntityReferenceLabelFormatter.php | 12 +----------- .../EntityReference/EntityReferenceFormatterTest.php | 1 - .../src/Plugin/Field/FieldFormatter/LinkFormatter.php | 6 ------ .../src/Plugin/Field/FieldFormatter/PlainFormatter.php | 3 --- .../Field/FieldFormatter/TaxonomyFormatterBase.php | 17 ++--------------- 5 files changed, 3 insertions(+), 36 deletions(-) diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php index 381f23b..dbc8958 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php @@ -11,7 +11,6 @@ use Drupal\Core\Entity\Exception\UndefinedLinkTemplateException; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\TypedData\TranslatableInterface; /** * Plugin implementation of the 'entity reference label' formatter. @@ -65,9 +64,7 @@ public function viewElements(FieldItemListInterface $items) { $elements = array(); $output_as_link = $this->getSetting('link'); - $entities = $this->getEntitiesToView($items); - - foreach ($entities as $delta => $entity) { + foreach ($this->getEntitiesToView($items) as $delta => $entity) { $label = $entity->label(); // If the link is to be displayed and the entity has a uri, display a // link. @@ -103,13 +100,6 @@ public function viewElements(FieldItemListInterface $items) { else { $elements[$delta] = array('#markup' => String::checkPlain($label)); } - - $cache_contexts = []; - if ($entity instanceof TranslatableInterface && $entity->isTranslatable()) { - $cache_contexts[] = 'language'; - } - - $elements[$delta]['#cache']['contexts'] = $cache_contexts; $elements[$delta]['#cache']['tags'] = $entity->getCacheTags(); } diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceFormatterTest.php b/core/modules/field/src/Tests/EntityReference/EntityReferenceFormatterTest.php index 9120f4a..d940188 100644 --- a/core/modules/field/src/Tests/EntityReference/EntityReferenceFormatterTest.php +++ b/core/modules/field/src/Tests/EntityReference/EntityReferenceFormatterTest.php @@ -230,7 +230,6 @@ public function testLabelFormatter() { $expected_item_2 = array( '#markup' => $this->unsavedReferencedEntity->label(), '#cache' => array( - 'contexts' => [], 'tags' => $this->unsavedReferencedEntity->getCacheTags(), ), ); diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/LinkFormatter.php b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/LinkFormatter.php index 847e1fd..d94e2bf 100644 --- a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/LinkFormatter.php +++ b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/LinkFormatter.php @@ -34,9 +34,6 @@ public function viewElements(FieldItemListInterface $items) { foreach ($items as $delta => $item) { if ($item->hasNewEntity()) { $elements[$delta] = array( - '#cache' => [ - 'contexts' => $item->_cacheContexts, - ], '#markup' => String::checkPlain($item->entity->label()), ); } @@ -44,9 +41,6 @@ public function viewElements(FieldItemListInterface $items) { /** @var $term \Drupal\taxonomy\TermInterface */ $term = $item->entity; $elements[$delta] = array( - '#cache' => [ - 'contexts' => $item->_cacheContexts, - ], '#type' => 'link', '#title' => $term->getName(), '#url' => $term->urlInfo(), diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/PlainFormatter.php b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/PlainFormatter.php index 0161791..1bf4ab4 100644 --- a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/PlainFormatter.php +++ b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/PlainFormatter.php @@ -31,9 +31,6 @@ public function viewElements(FieldItemListInterface $items) { foreach ($items as $delta => $item) { $elements[$delta] = array( - '#cache' => [ - 'contexts' => $item->_cacheContexts, - ], '#markup' => String::checkPlain($item->entity->label()), ); } diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php index 1a830da..6109674 100644 --- a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php +++ b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php @@ -7,8 +7,6 @@ namespace Drupal\taxonomy\Plugin\Field\FieldFormatter; -use Drupal\Core\Cache\Cache; -use Drupal\Core\Cache\CacheableInterface; use Drupal\Core\Field\FormatterBase; /** @@ -23,8 +21,7 @@ * unsets values for invalid terms that do not exist. */ public function prepareView(array $entities_items) { - $terms = []; - $cache_contexts_per_term = []; + $terms = array(); // Collect every possible term attached to any of the fieldable entities. /* @var \Drupal\Core\Field\EntityReferenceFieldItemList $items */ @@ -34,22 +31,13 @@ public function prepareView(array $entities_items) { $active_langcode = $parent->language()->getId(); /* @var \Drupal\taxonomy\Entity\Term $term */ foreach ($items->referencedEntities() as $term) { - $cache_contexts = []; - if (count($term->getTranslationLanguages()) > 1) { - $cache_contexts[] = 'language'; - } if ($term->hasTranslation($active_langcode)) { $translated_term = $term->getTranslation($active_langcode); - $access_result = $translated_term->access('view', NULL, TRUE); - if ($access_result instanceof CacheableInterface) { - $cache_contexts = Cache::mergeContexts($cache_contexts, $access_result->getCacheContexts()); - } - if ($access_result->isAllowed()) { + if ($translated_term->access('view')) { $term = $translated_term; } } if (!$term->isNew()) { - $cache_contexts_per_term[$term->id()] = $cache_contexts; $terms[$term->id()] = $term; } } @@ -65,7 +53,6 @@ public function prepareView(array $entities_items) { if (isset($terms[$item->target_id])) { // Replace the instance value with the term data. $item->entity = $terms[$item->target_id]; - $item->_cacheContexts = $cache_contexts_per_term[$item->target_id]; } // Terms to be created are not in $terms, but are still legitimate. elseif ($item->hasNewEntity()) {