From d0c13760c6816f73e8a7109cfa428bc0cb212a76 Mon Sep 17 00:00:00 2001 From: Alex Pott Date: Sun, 27 Sep 2015 13:11:31 +0200 Subject: [PATCH] Issue #2543258 by LKS90, hchonov, tassilogroeper, sasanikolic, Berdir, yched, plach: Entity references of untranslatable fields are not displayed in the correct translation --- .../Drupal/Core/Entity/Entity/EntityViewDisplay.php | 2 +- core/lib/Drupal/Core/Field/FormatterBase.php | 9 +++++++-- core/lib/Drupal/Core/Field/FormatterInterface.php | 9 +++++++-- .../Field/FieldFormatter/BasicStringFormatter.php | 2 +- .../Field/FieldFormatter/BooleanFormatter.php | 2 +- .../EntityReferenceEntityFormatter.php | 5 +++-- .../FieldFormatter/EntityReferenceFormatterBase.php | 13 +++++++------ .../FieldFormatter/EntityReferenceIdFormatter.php | 5 +++-- .../EntityReferenceLabelFormatter.php | 4 ++-- .../Plugin/Field/FieldFormatter/MailToFormatter.php | 2 +- .../Field/FieldFormatter/NumericFormatterBase.php | 2 +- .../FieldFormatter/NumericUnformattedFormatter.php | 2 +- .../Plugin/Field/FieldFormatter/StringFormatter.php | 2 +- .../Field/FieldFormatter/TimestampAgoFormatter.php | 2 +- .../Field/FieldFormatter/TimestampFormatter.php | 2 +- .../Field/FieldFormatter/UriLinkFormatter.php | 2 +- .../FieldFormatter/AggregatorTitleFormatter.php | 2 +- .../Field/FieldFormatter/AggregatorXSSFormatter.php | 2 +- .../Field/FieldFormatter/AuthorNameFormatter.php | 2 +- .../FieldFormatter/CommentDefaultFormatter.php | 2 +- .../FieldFormatter/DateTimeCustomFormatter.php | 2 +- .../FieldFormatter/DateTimeDefaultFormatter.php | 2 +- .../Field/FieldFormatter/DateTimePlainFormatter.php | 2 +- .../FieldFormatter/DateTimeTimeAgoFormatter.php | 2 +- ...ityReferenceFieldTranslatedReferenceViewTest.php | 10 +++++++++- .../FieldFormatter/TestFieldApplicableFormatter.php | 2 +- .../FieldFormatter/TestFieldDefaultFormatter.php | 2 +- .../FieldFormatter/TestFieldEmptyFormatter.php | 2 +- .../TestFieldEmptySettingFormatter.php | 2 +- .../FieldFormatter/TestFieldMultipleFormatter.php | 2 +- .../FieldFormatter/TestFieldNoSettingsFormatter.php | 2 +- .../TestFieldPrepareViewFormatter.php | 2 +- .../FieldFormatter/BaseFieldFileFormatterBase.php | 2 +- .../src/Plugin/Field/FieldFormatter/FileSize.php | 2 +- .../Field/FieldFormatter/GenericFileFormatter.php | 4 ++-- .../Field/FieldFormatter/RSSEnclosureFormatter.php | 4 ++-- .../Plugin/Field/FieldFormatter/TableFormatter.php | 4 ++-- .../Field/FieldFormatter/UrlPlainFormatter.php | 4 ++-- .../Plugin/Field/FieldFormatter/ImageFormatter.php | 4 ++-- .../Field/FieldFormatter/ImageFormatterBase.php | 6 +++--- .../Plugin/Field/FieldFormatter/LinkFormatter.php | 2 +- .../Field/FieldFormatter/LinkSeparateFormatter.php | 2 +- .../FieldFormatter/OptionsDefaultFormatter.php | 2 +- .../Field/FieldFormatter/OptionsKeyFormatter.php | 2 +- .../FieldFormatter/ResponsiveImageFormatter.php | 4 ++-- .../FieldFormatter/ResponsiveImageTestFormatter.php | 4 ++-- .../EntityReferenceTaxonomyTermRssFormatter.php | 4 ++-- .../src/Tests/TaxonomyTranslationTestTrait.php | 4 ++-- .../src/Tests/TermTranslationFieldViewTest.php | 2 +- .../Field/FieldFormatter/TelephoneLinkFormatter.php | 2 +- .../Field/FieldFormatter/TextDefaultFormatter.php | 2 +- .../Field/FieldFormatter/TextTrimmedFormatter.php | 2 +- .../Plugin/Field/FieldFormatter/AuthorFormatter.php | 4 ++-- .../Field/FieldFormatter/UserNameFormatter.php | 2 +- .../FieldFormatter/AttachmentTestFormatter.php | 4 ++-- 55 files changed, 99 insertions(+), 78 deletions(-) diff --git a/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php index 5c932e76456a..27884cd240e0 100644 --- a/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php +++ b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php @@ -249,7 +249,7 @@ class EntityViewDisplay extends EntityDisplayBase implements EntityViewDisplayIn $items = $grouped_items[$id]; /** @var \Drupal\Core\Access\AccessResultInterface $field_access */ $field_access = $items->access('view', NULL, TRUE); - $build_list[$id][$name] = $field_access->isAllowed() ? $formatter->view($items) : []; + $build_list[$id][$name] = $field_access->isAllowed() ? $formatter->view($items, $entity->language()->getId()) : []; // Apply the field access cacheability metadata to the render array. $this->renderer->addCacheableDependency($build_list[$id][$name], $field_access); } diff --git a/core/lib/Drupal/Core/Field/FormatterBase.php b/core/lib/Drupal/Core/Field/FormatterBase.php index a44b8a910511..7b29951bedd0 100644 --- a/core/lib/Drupal/Core/Field/FormatterBase.php +++ b/core/lib/Drupal/Core/Field/FormatterBase.php @@ -8,6 +8,7 @@ namespace Drupal\Core\Field; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Language\LanguageInterface; use Drupal\Core\Render\Element; /** @@ -76,8 +77,12 @@ abstract class FormatterBase extends PluginSettingsBase implements FormatterInte /** * {@inheritdoc} */ - public function view(FieldItemListInterface $items) { - $elements = $this->viewElements($items); + public function view(FieldItemListInterface $items, $langcode = NULL) { + // Default the language to the current content language. + if (empty($langcode)) { + $langcode = \Drupal::languageManager()->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId(); + } + $elements = $this->viewElements($items, $langcode); // If there are actual renderable children, use #theme => field, otherwise, // let access cacheability metadata pass through for correct bubbling. diff --git a/core/lib/Drupal/Core/Field/FormatterInterface.php b/core/lib/Drupal/Core/Field/FormatterInterface.php index 196fb89ec464..a60ffa65f851 100644 --- a/core/lib/Drupal/Core/Field/FormatterInterface.php +++ b/core/lib/Drupal/Core/Field/FormatterInterface.php @@ -69,23 +69,28 @@ interface FormatterInterface extends PluginSettingsInterface { * * @param \Drupal\Core\Field\FieldItemListInterface $items * The field values to be rendered. + * @param string $langcode + * (optional) The language that should be used to render the field. Defaults + * to the current content language. * * @return array * A renderable array for a themed field with its label and all its values. */ - public function view(FieldItemListInterface $items); + public function view(FieldItemListInterface $items, $langcode = NULL); /** * Builds a renderable array for a field value. * * @param \Drupal\Core\Field\FieldItemListInterface $items * The field values to be rendered. + * @param string $langcode + * The language that should be used to render the field. * * @return array * A renderable array for $items, as an array of child elements keyed by * consecutive numeric indexes starting from 0. */ - public function viewElements(FieldItemListInterface $items); + public function viewElements(FieldItemListInterface $items, $langcode); /** * Returns if the formatter can be used for the provided field. diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BasicStringFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BasicStringFormatter.php index b1dde5b1ae51..30edc11d6ca5 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BasicStringFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BasicStringFormatter.php @@ -30,7 +30,7 @@ class BasicStringFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; foreach ($items as $delta => $item) { diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php index b1d2d8b2749c..28229051cb8f 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php @@ -116,7 +116,7 @@ class BooleanFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; $formats = $this->getOutputFormats(); diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php index 1328f65e2745..b98fc4502775 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php @@ -10,6 +10,7 @@ namespace Drupal\Core\Field\Plugin\Field\FieldFormatter; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Language\LanguageInterface; use Drupal\Core\Logger\LoggerChannelFactoryInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -119,11 +120,11 @@ class EntityReferenceEntityFormatter extends EntityReferenceFormatterBase implem /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $view_mode = $this->getSetting('view_mode'); $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $entity) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $entity) { // Protect ourselves from recursive rendering. static $depth = 0; $depth++; diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php index b9a339f2a6cc..6d2077413a77 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php @@ -36,24 +36,25 @@ abstract class EntityReferenceFormatterBase extends FormatterBase { * * @param \Drupal\Core\Field\EntityReferenceFieldItemListInterface $items * The item list. + * @param string $langcode + * The language code of the referenced entities to display. * * @return \Drupal\Core\Entity\EntityInterface[] * The array of referenced entities to display, keyed by delta. * * @see ::prepareView() */ - protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items) { + protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items, $langcode) { $entities = array(); - $parent_entity_langcode = $items->getEntity()->language()->getId(); foreach ($items as $delta => $item) { // Ignore items where no entity could be loaded in prepareView(). if (!empty($item->_loaded)) { $entity = $item->entity; // Set the entity in the correct language for display. - if ($entity instanceof TranslatableInterface && $entity->hasTranslation($parent_entity_langcode)) { - $entity = $entity->getTranslation($parent_entity_langcode); + if ($entity instanceof TranslatableInterface) { + $entity = \Drupal::entityManager()->getTranslationFromContext($entity, $langcode); } $access = $this->checkAccess($entity); @@ -76,8 +77,8 @@ abstract class EntityReferenceFormatterBase extends FormatterBase { * @see ::prepareView() * @see ::getEntitiestoView() */ - public function view(FieldItemListInterface $items) { - $elements = parent::view($items); + public function view(FieldItemListInterface $items, $langcode = NULL) { + $elements = parent::view($items, $langcode); $field_level_access_cacheability = new CacheableMetadata(); diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php index 3f7393907285..3b58c68f356d 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceIdFormatter.php @@ -8,6 +8,7 @@ namespace Drupal\Core\Field\Plugin\Field\FieldFormatter; use Drupal\Core\Field\FieldItemListInterface; +use Drupal\Core\Language\LanguageInterface; /** * Plugin implementation of the 'entity reference ID' formatter. @@ -26,10 +27,10 @@ class EntityReferenceIdFormatter extends EntityReferenceFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $entity) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $entity) { if ($entity->id()) { $elements[$delta] = array( '#plain_text' => $entity->id(), 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 68d28ad589bd..eb005bca851a 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceLabelFormatter.php @@ -59,11 +59,11 @@ class EntityReferenceLabelFormatter extends EntityReferenceFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $output_as_link = $this->getSetting('link'); - foreach ($this->getEntitiesToView($items) as $delta => $entity) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $entity) { $label = $entity->label(); // If the link is to be displayed and the entity has a uri, display a // link. diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/MailToFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/MailToFormatter.php index 19311b5695c2..94ab462f9527 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/MailToFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/MailToFormatter.php @@ -27,7 +27,7 @@ class MailToFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php index 01a748f87352..0320cd51f8d5 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php @@ -66,7 +66,7 @@ abstract class NumericFormatterBase extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $settings = $this->getFieldSettings(); diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericUnformattedFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericUnformattedFormatter.php index 55d9dbf7fb4a..47e591b65653 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericUnformattedFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericUnformattedFormatter.php @@ -28,7 +28,7 @@ class NumericUnformattedFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php index 3bc804e364b6..dffa66761e0f 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php @@ -117,7 +117,7 @@ class StringFormatter extends FormatterBase implements ContainerFactoryPluginInt /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $url = NULL; if ($this->getSetting('link_to_entity')) { diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php index 6443669a08b7..26b01dba1b56 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php @@ -153,7 +153,7 @@ class TimestampAgoFormatter extends FormatterBase implements ContainerFactoryPlu /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php index 032e1d1a729f..fbd44acad807 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php @@ -165,7 +165,7 @@ class TimestampFormatter extends FormatterBase implements ContainerFactoryPlugin /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $date_format = $this->getSetting('date_format'); diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/UriLinkFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/UriLinkFormatter.php index 51e0c3bd30f2..bcf0a5037e8f 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/UriLinkFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/UriLinkFormatter.php @@ -27,7 +27,7 @@ class UriLinkFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorTitleFormatter.php b/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorTitleFormatter.php index 6882aedac649..4de369da9aa6 100644 --- a/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorTitleFormatter.php +++ b/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorTitleFormatter.php @@ -54,7 +54,7 @@ class AggregatorTitleFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; if ($items->getEntity()->getEntityTypeId() == 'aggregator_feed') { diff --git a/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorXSSFormatter.php b/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorXSSFormatter.php index 4f3f601ce17b..0edb460a5bf9 100644 --- a/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorXSSFormatter.php +++ b/core/modules/aggregator/src/Plugin/Field/FieldFormatter/AggregatorXSSFormatter.php @@ -30,7 +30,7 @@ class AggregatorXSSFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; foreach ($items as $delta => $item) { diff --git a/core/modules/comment/src/Plugin/Field/FieldFormatter/AuthorNameFormatter.php b/core/modules/comment/src/Plugin/Field/FieldFormatter/AuthorNameFormatter.php index 6772f9bbe5d6..1d10dd0184e6 100644 --- a/core/modules/comment/src/Plugin/Field/FieldFormatter/AuthorNameFormatter.php +++ b/core/modules/comment/src/Plugin/Field/FieldFormatter/AuthorNameFormatter.php @@ -28,7 +28,7 @@ class AuthorNameFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php b/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php index 5aa5f4f14787..32b3ca13f684 100644 --- a/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php +++ b/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php @@ -137,7 +137,7 @@ class CommentDefaultFormatter extends FormatterBase implements ContainerFactoryP /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $output = array(); diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php index 002cf727510c..af6fd37e463f 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php @@ -36,7 +36,7 @@ class DateTimeCustomFormatter extends DateTimeFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php index 91540370ddb6..9b2735cc5574 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php @@ -36,7 +36,7 @@ class DateTimeDefaultFormatter extends DateTimeFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php index b92c07cccc25..c22445e3df3f 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php @@ -25,7 +25,7 @@ class DateTimePlainFormatter extends DateTimeFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php index 0bc56c67911e..851f59b76679 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php @@ -107,7 +107,7 @@ class DateTimeTimeAgoFormatter extends FormatterBase implements ContainerFactory /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/entity_reference/src/Tests/EntityReferenceFieldTranslatedReferenceViewTest.php b/core/modules/entity_reference/src/Tests/EntityReferenceFieldTranslatedReferenceViewTest.php index f72a4de4fc28..1b7ae33609f9 100644 --- a/core/modules/entity_reference/src/Tests/EntityReferenceFieldTranslatedReferenceViewTest.php +++ b/core/modules/entity_reference/src/Tests/EntityReferenceFieldTranslatedReferenceViewTest.php @@ -17,6 +17,14 @@ use Drupal\simpletest\WebTestBase; * @group entity_reference */ class EntityReferenceFieldTranslatedReferenceViewTest extends WebTestBase { + + /** + * Flag indicating whether the field is translatable. + * + * @var bool + */ + protected $translatable = TRUE; + /** * The langcode of the source language. * @@ -188,7 +196,7 @@ class EntityReferenceFieldTranslatedReferenceViewTest extends WebTestBase { 'entity_type' => $this->testEntityTypeName, 'type' => 'entity_reference', 'cardinality' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED, - 'translatable' => TRUE, + 'translatable' => $this->translatable, 'settings' => array( 'allowed_values' => array( array( diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldApplicableFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldApplicableFormatter.php index 24704e144811..c7bc49cfa30c 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldApplicableFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldApplicableFormatter.php @@ -38,7 +38,7 @@ class TestFieldApplicableFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { return array('#markup' => 'Nothing to see here'); } } diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php index 1bf2260eba08..1fa8bfb49bfd 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php @@ -62,7 +62,7 @@ class TestFieldDefaultFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php index bee7d50b2d27..cab0c1769ec7 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptyFormatter.php @@ -35,7 +35,7 @@ class TestFieldEmptyFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); if ($items->isEmpty()) { diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php index 1f076f7074d6..b9bfdd7758ce 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php @@ -63,7 +63,7 @@ class TestFieldEmptySettingFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); if (!empty($items)) { diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php index 20f77968c46c..40b65583ddb8 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php @@ -63,7 +63,7 @@ class TestFieldMultipleFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); if (!empty($items)) { diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldNoSettingsFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldNoSettingsFormatter.php index 4ab58f1f77e1..d01ef8b73e68 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldNoSettingsFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldNoSettingsFormatter.php @@ -27,7 +27,7 @@ class TestFieldNoSettingsFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php index aaf2bf28900f..708a4048c553 100644 --- a/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php +++ b/core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php @@ -75,7 +75,7 @@ class TestFieldPrepareViewFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/BaseFieldFileFormatterBase.php b/core/modules/file/src/Plugin/Field/FieldFormatter/BaseFieldFileFormatterBase.php index 31d5e0571f4a..fbe14f09ba95 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/BaseFieldFileFormatterBase.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/BaseFieldFileFormatterBase.php @@ -46,7 +46,7 @@ abstract class BaseFieldFileFormatterBase extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; $url = NULL; diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/FileSize.php b/core/modules/file/src/Plugin/Field/FieldFormatter/FileSize.php index 27973da720a9..fcf74c68d96a 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/FileSize.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/FileSize.php @@ -34,7 +34,7 @@ class FileSize extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; foreach ($items as $delta => $item) { diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/GenericFileFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/GenericFileFormatter.php index f37003711069..a157d96678f7 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/GenericFileFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/GenericFileFormatter.php @@ -25,10 +25,10 @@ class GenericFileFormatter extends FileFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $file) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $file) { $item = $file->_referringItem; $elements[$delta] = array( '#theme' => 'file_link', diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php index 2706e2fc5c8c..ad3418f8f2df 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/RSSEnclosureFormatter.php @@ -25,11 +25,11 @@ class RSSEnclosureFormatter extends FileFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $entity = $items->getEntity(); // Add the first file as an enclosure to the RSS item. RSS allows only one // enclosure per item. See: http://en.wikipedia.org/wiki/RSS_enclosure - foreach ($this->getEntitiesToView($items) as $delta => $file) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $file) { $entity->rss_elements[] = array( 'key' => 'enclosure', 'attributes' => array( diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/TableFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/TableFormatter.php index 9bf55ee9e6f1..fda843e788b2 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/TableFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/TableFormatter.php @@ -25,10 +25,10 @@ class TableFormatter extends FileFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - if ($files = $this->getEntitiesToView($items)) { + if ($files = $this->getEntitiesToView($items, $langcode)) { $header = array(t('Attachment'), t('Size')); $rows = array(); foreach ($files as $delta => $file) { diff --git a/core/modules/file/src/Plugin/Field/FieldFormatter/UrlPlainFormatter.php b/core/modules/file/src/Plugin/Field/FieldFormatter/UrlPlainFormatter.php index f61a98d06d2a..6f2264e91d79 100644 --- a/core/modules/file/src/Plugin/Field/FieldFormatter/UrlPlainFormatter.php +++ b/core/modules/file/src/Plugin/Field/FieldFormatter/UrlPlainFormatter.php @@ -25,10 +25,10 @@ class UrlPlainFormatter extends FileFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $file) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $file) { $elements[$delta] = array( '#markup' => file_create_url($file->getFileUri()), '#cache' => array( diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php index 30697218eb0c..aa24a9551e59 100644 --- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php @@ -169,9 +169,9 @@ class ImageFormatter extends ImageFormatterBase implements ContainerFactoryPlugi /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - $files = $this->getEntitiesToView($items); + $files = $this->getEntitiesToView($items, $langcode); // Early opt-out if the field is empty. if (empty($files)) { diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php index 6a0d3ed897cb..6f794974bf87 100644 --- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatterBase.php @@ -8,6 +8,7 @@ namespace Drupal\image\Plugin\Field\FieldFormatter; use Drupal\Core\Field\EntityReferenceFieldItemListInterface; +use Drupal\Core\Language\LanguageInterface; use Drupal\field\FieldConfigInterface; use Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase; @@ -19,7 +20,7 @@ abstract class ImageFormatterBase extends FileFormatterBase { /** * {@inheritdoc} */ - protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items) { + protected function getEntitiesToView(EntityReferenceFieldItemListInterface $items, $langcode) { // Add the default image if needed. if ($items->isEmpty()) { $default_image = $this->getFieldSetting('default_image'); @@ -28,7 +29,6 @@ abstract class ImageFormatterBase extends FileFormatterBase { if (empty($default_image['uuid']) && $this->fieldDefinition instanceof FieldConfigInterface) { $default_image = $this->fieldDefinition->getFieldStorageDefinition()->getSetting('default_image'); } - if (!empty($default_image['uuid']) && $file = \Drupal::entityManager()->loadEntityByUuid('file', $default_image['uuid'])) { // Clone the FieldItemList into a runtime-only object for the formatter, // so that the fallback image can be rendered without affecting the @@ -48,7 +48,7 @@ abstract class ImageFormatterBase extends FileFormatterBase { } } - return parent::getEntitiesToView($items); + return parent::getEntitiesToView($items, $langcode); } } diff --git a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php index ed80376ca223..d9780580e11c 100644 --- a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php +++ b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php @@ -176,7 +176,7 @@ class LinkFormatter extends FormatterBase implements ContainerFactoryPluginInter /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $element = array(); $entity = $items->getEntity(); $settings = $this->getSettings(); diff --git a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php index 3ea2770944b0..5e3f458db826 100644 --- a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php +++ b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php @@ -42,7 +42,7 @@ class LinkSeparateFormatter extends LinkFormatter { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $element = array(); $entity = $items->getEntity(); $settings = $this->getSettings(); diff --git a/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php b/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php index 54f5d9e16387..81b299fe6a44 100644 --- a/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php +++ b/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsDefaultFormatter.php @@ -33,7 +33,7 @@ class OptionsDefaultFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); // Only collect allowed options if there are actually items to display. diff --git a/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php b/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php index 69776f875c63..138d7090fdc0 100644 --- a/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php +++ b/core/modules/options/src/Plugin/Field/FieldFormatter/OptionsKeyFormatter.php @@ -32,7 +32,7 @@ class OptionsKeyFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); foreach ($items as $delta => $item) { diff --git a/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php b/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php index 774945220761..d1290cb2a5fb 100644 --- a/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php +++ b/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php @@ -192,9 +192,9 @@ class ResponsiveImageFormatter extends ImageFormatterBase implements ContainerFa /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - $files = $this->getEntitiesToView($items); + $files = $this->getEntitiesToView($items, $langcode); // Early opt-out if the field is empty. if (empty($files)) { diff --git a/core/modules/responsive_image/tests/modules/responsive_image_test_module/src/Plugin/Field/FieldFormatter/ResponsiveImageTestFormatter.php b/core/modules/responsive_image/tests/modules/responsive_image_test_module/src/Plugin/Field/FieldFormatter/ResponsiveImageTestFormatter.php index eeb5b098d9b1..ac9644cb364f 100644 --- a/core/modules/responsive_image/tests/modules/responsive_image_test_module/src/Plugin/Field/FieldFormatter/ResponsiveImageTestFormatter.php +++ b/core/modules/responsive_image/tests/modules/responsive_image_test_module/src/Plugin/Field/FieldFormatter/ResponsiveImageTestFormatter.php @@ -26,8 +26,8 @@ class ResponsiveImageTestFormatter extends ResponsiveImageFormatter { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { - $elements = parent::viewElements($items); + public function viewElements(FieldItemListInterface $items, $langcode) { + $elements = parent::viewElements($items, $langcode); // Unset #item_attributes to test that the theme function can handle that. foreach ($elements as &$element) { if (isset($element['#item_attributes'])) { diff --git a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php index 04330664a4cd..ba5158e168e0 100644 --- a/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php +++ b/core/modules/taxonomy/src/Plugin/Field/FieldFormatter/EntityReferenceTaxonomyTermRssFormatter.php @@ -28,11 +28,11 @@ class EntityReferenceTaxonomyTermRssFormatter extends EntityReferenceFormatterBa /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $parent_entity = $items->getEntity(); $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $entity) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $entity) { $parent_entity->rss_elements[] = array( 'key' => 'category', 'value' => $entity->label(), diff --git a/core/modules/taxonomy/src/Tests/TaxonomyTranslationTestTrait.php b/core/modules/taxonomy/src/Tests/TaxonomyTranslationTestTrait.php index 4b828cfb2dec..93f2f832619d 100644 --- a/core/modules/taxonomy/src/Tests/TaxonomyTranslationTestTrait.php +++ b/core/modules/taxonomy/src/Tests/TaxonomyTranslationTestTrait.php @@ -83,7 +83,7 @@ trait TaxonomyTranslationTestTrait { * (optional) If TRUE, create a translatable term reference field. Defaults * to FALSE. */ - protected function setUpTermReferenceField($translatable = FALSE) { + protected function setUpTermReferenceField() { $handler_settings = array( 'target_bundles' => array( $this->vocabulary->id() => $this->vocabulary->id(), @@ -92,7 +92,7 @@ trait TaxonomyTranslationTestTrait { ); $this->createEntityReferenceField('node', 'article', $this->termFieldName, NULL, 'taxonomy_term', 'default', $handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED); $field_storage = FieldStorageConfig::loadByName('node', $this->termFieldName); - $field_storage->setTranslatable($translatable); + $field_storage->setTranslatable(FALSE); $field_storage->save(); entity_get_form_display('node', 'article', 'default') diff --git a/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php b/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php index e9d2afe27a0b..d807d5e94797 100644 --- a/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php +++ b/core/modules/taxonomy/src/Tests/TermTranslationFieldViewTest.php @@ -50,7 +50,7 @@ class TermTranslationFieldViewTest extends TaxonomyTestBase { $this->vocabulary = $this->createVocabulary(); $this->enableTranslation(); $this->setUpTerm(); - $this->setUpTermReferenceField(TRUE); + $this->setUpTermReferenceField(); $this->setUpNode(); } diff --git a/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php b/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php index c0b833738b61..8b3749bec2bb 100644 --- a/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php +++ b/core/modules/telephone/src/Plugin/Field/FieldFormatter/TelephoneLinkFormatter.php @@ -67,7 +67,7 @@ class TelephoneLinkFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $element = array(); $title_setting = $this->getSetting('title'); diff --git a/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php b/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php index 87861e8840e1..2990c99f101d 100644 --- a/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php +++ b/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php @@ -31,7 +31,7 @@ class TextDefaultFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); // The ProcessedText element already handles cache context & tag bubbling. diff --git a/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php b/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php index 09404d6c731e..9cb3038d1a4b 100644 --- a/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php +++ b/core/modules/text/src/Plugin/Field/FieldFormatter/TextTrimmedFormatter.php @@ -70,7 +70,7 @@ class TextTrimmedFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $render_as_summary = function (&$element) { diff --git a/core/modules/user/src/Plugin/Field/FieldFormatter/AuthorFormatter.php b/core/modules/user/src/Plugin/Field/FieldFormatter/AuthorFormatter.php index c880066f94a6..fddefe48c4d3 100644 --- a/core/modules/user/src/Plugin/Field/FieldFormatter/AuthorFormatter.php +++ b/core/modules/user/src/Plugin/Field/FieldFormatter/AuthorFormatter.php @@ -30,10 +30,10 @@ class AuthorFormatter extends EntityReferenceFormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); - foreach ($this->getEntitiesToView($items) as $delta => $entity) { + foreach ($this->getEntitiesToView($items, $langcode) as $delta => $entity) { /** @var $referenced_user \Drupal\user\UserInterface */ $elements[$delta] = array( '#theme' => 'username', diff --git a/core/modules/user/src/Plugin/Field/FieldFormatter/UserNameFormatter.php b/core/modules/user/src/Plugin/Field/FieldFormatter/UserNameFormatter.php index 1886ed913856..7c8df162c438 100644 --- a/core/modules/user/src/Plugin/Field/FieldFormatter/UserNameFormatter.php +++ b/core/modules/user/src/Plugin/Field/FieldFormatter/UserNameFormatter.php @@ -54,7 +54,7 @@ class UserNameFormatter extends FormatterBase { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { + public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; foreach ($items as $delta => $item) { diff --git a/core/modules/views/tests/modules/views_test_formatter/src/Plugin/Field/FieldFormatter/AttachmentTestFormatter.php b/core/modules/views/tests/modules/views_test_formatter/src/Plugin/Field/FieldFormatter/AttachmentTestFormatter.php index 002105e1e0c4..86600c68f047 100644 --- a/core/modules/views/tests/modules/views_test_formatter/src/Plugin/Field/FieldFormatter/AttachmentTestFormatter.php +++ b/core/modules/views/tests/modules/views_test_formatter/src/Plugin/Field/FieldFormatter/AttachmentTestFormatter.php @@ -28,8 +28,8 @@ class AttachmentTestFormatter extends NumericUnformattedFormatter { /** * {@inheritdoc} */ - public function viewElements(FieldItemListInterface $items) { - $elements = parent::viewElements($items); + public function viewElements(FieldItemListInterface $items, $langcode) { + $elements = parent::viewElements($items, $langcode); // Add dummy attachments. $entity_id = $items->getEntity()->id();