diff --git a/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php index afb9a88..85b4eff 100644 --- a/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php +++ b/core/lib/Drupal/Core/Entity/Entity/EntityViewDisplay.php @@ -198,7 +198,7 @@ public function getRenderer($field_name) { if (($configuration = $this->getComponent($field_name)) && isset($configuration['type']) && ($definition = $this->getFieldDefinition($field_name))) { // Record the language that the configuration was translated into, which // is needed for plural formatting (for example). - $configuration['settings_langcode'] = $this->langcode; + $configuration['settings']['settings_langcode'] = $this->langcode; $formatter = $this->pluginManager->getInstance(array( 'field_definition' => $definition, 'view_mode' => $this->originalMode, diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php index 56b3492..ce47653 100644 --- a/core/lib/Drupal/Core/Entity/EntityViewBuilder.php +++ b/core/lib/Drupal/Core/Entity/EntityViewBuilder.php @@ -469,9 +469,9 @@ protected function getSingleFieldDisplay($entity, $field_name, $display_options) if (!isset($this->singleFieldDisplays[$key])) { // Assign the incoming 'settings_langcode' as the langcode of the // EntityViewDisplay, or default to the current interface language. - if (isset($display_options['settings_langcode'])) { - $langcode = $display_options['settings_langcode']; - unset($display_options['settings_langcode']); + if (isset($display_options['settings']['settings_langcode'])) { + $langcode = $display_options['settings']['settings_langcode']; + unset($display_options['settings']['settings_langcode']); } else { $langcode = $this->languageManager->getCurrentLanguage(LanguageInterface::TYPE_INTERFACE)->getId(); diff --git a/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php b/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php index ff086c6..e4dff16 100644 --- a/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php +++ b/core/lib/Drupal/Core/Entity/EntityViewBuilderInterface.php @@ -121,11 +121,10 @@ public function resetCache(array $entities = NULL); * 'default_formatter' for the field type. The default formatter will * also be used if the requested formatter is not available. * - settings: (array) Settings specific to the formatter. Defaults to the - * formatter's default settings. - * - settings_langcode: (string) The langcode associated to the settings - * passed above. If the settings are read from a config entity, this - * should be the langcode of that config entity. Defaults to the - * langcode of the current interface language. + * formatter's default settings. A settings_langcode value will be + * added; this is the language code of the parent entity (and hence of + * the settings), defaulting to the current interface language if not + * set. * - weight: (float) The weight to assign to the renderable element. * Defaults to 0. * diff --git a/core/lib/Drupal/Core/Field/FormatterBase.php b/core/lib/Drupal/Core/Field/FormatterBase.php index 41f8701..a6c8cc8 100644 --- a/core/lib/Drupal/Core/Field/FormatterBase.php +++ b/core/lib/Drupal/Core/Field/FormatterBase.php @@ -62,10 +62,8 @@ * The view mode. * @param array $third_party_settings * Any third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode) { + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings) { parent::__construct(array(), $plugin_id, $plugin_definition); $this->fieldDefinition = $field_definition; @@ -73,7 +71,6 @@ public function __construct($plugin_id, $plugin_definition, FieldDefinitionInter $this->label = $label; $this->viewMode = $view_mode; $this->thirdPartySettings = $third_party_settings; - $this->settingsLangcode = $settings_langcode; } /** diff --git a/core/lib/Drupal/Core/Field/FormatterPluginManager.php b/core/lib/Drupal/Core/Field/FormatterPluginManager.php index d100add..f8dafce 100644 --- a/core/lib/Drupal/Core/Field/FormatterPluginManager.php +++ b/core/lib/Drupal/Core/Field/FormatterPluginManager.php @@ -61,9 +61,6 @@ public function createInstance($plugin_id, array $configuration = array()) { $plugin_definition = $this->getDefinition($plugin_id); $plugin_class = DefaultFactory::getPluginClass($plugin_id, $plugin_definition); - // @todo Not sure we need to keep that, there should always be a settings_langcode set ? - $configuration += ['settings_langcode' => NULL]; - // @todo This is copied from \Drupal\Core\Plugin\Factory\ContainerFactory. // Find a way to restore sanity to // \Drupal\Core\Field\FormatterBase::__construct(). @@ -72,7 +69,7 @@ public function createInstance($plugin_id, array $configuration = array()) { return $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition); } - return new $plugin_class($plugin_id, $plugin_definition, $configuration['field_definition'], $configuration['settings'], $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], $configuration['settings_langcode']); + return new $plugin_class($plugin_id, $plugin_definition, $configuration['field_definition'], $configuration['settings'], $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings']); } /** @@ -95,12 +92,11 @@ public function createInstance($plugin_id, array $configuration = array()) { * also be used if the requested formatter is not available. * - settings: (array) Settings specific to the formatter. Each setting * defaults to the default value specified in the formatter definition. + * There should be a 'settings_langcode' added, giving the language + * code of the parent entity (entity view display or view that the + * formatter is embedded in). * - third_party_settings: (array) Settings provided by other extensions * through hook_field_formatter_third_party_settings_form(). - * - settings_langcode: (string) The language code associated to the - * settings passed above. That is typically the language code of the - * configuration entity the settings are taken from (an - * entity_view_display, a view...) * * @return \Drupal\Core\Field\FormatterInterface|null * A formatter object or NULL when plugin is not found. 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 40d6686..4cb961e 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/EntityReferenceEntityFormatter.php @@ -52,13 +52,11 @@ class EntityReferenceEntityFormatter extends EntityReferenceFormatterBase implem * The view mode. * @param array $third_party_settings * Any third party settings settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param LoggerChannelFactoryInterface $logger_factory * The logger factory. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, LoggerChannelFactoryInterface $logger_factory) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, LoggerChannelFactoryInterface $logger_factory) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->loggerFactory = $logger_factory; } @@ -74,7 +72,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('logger.factory') ); } diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/LanguageFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/LanguageFormatter.php index 7c314dd..3b43147 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/LanguageFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/LanguageFormatter.php @@ -52,15 +52,13 @@ class LanguageFormatter extends StringFormatter { * The view mode. * @param array $third_party_settings * Any third party settings settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager. * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager * The language manager. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, EntityManagerInterface $entity_manager, LanguageManagerInterface $language_manager) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode, $entity_manager); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityManagerInterface $entity_manager, LanguageManagerInterface $language_manager) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $entity_manager); $this->languageManager = $language_manager; } @@ -77,7 +75,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('entity.manager'), $container->get('language_manager') ); 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 1a167d5..61d0185 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/NumericFormatterBase.php @@ -68,7 +68,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) { $elements['format_plural_values'] = array( '#after_build' => [[get_class($this), 'formatPluralValuesAfterBuild']], ); - $plurals = $this->getNumberOfPlurals($this->settingsLangcode); + $plurals = $this->getNumberOfPlurals($this->getSetting('settings_langcode'); for ($i = 0; $i < $plurals; $i++) { $elements['format_plural_values'][$i] = array( '#type' => 'textfield', 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 2efa26c..6276f95 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/StringFormatter.php @@ -52,13 +52,11 @@ class StringFormatter extends FormatterBase implements ContainerFactoryPluginInt * The view mode. * @param array $third_party_settings * Any third party settings settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The entity manager. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, EntityManagerInterface $entity_manager) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityManagerInterface $entity_manager) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->entityManager = $entity_manager; } @@ -75,7 +73,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('entity.manager') ); } 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 3588bba..90dfadc 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampAgoFormatter.php @@ -63,15 +63,13 @@ class TimestampAgoFormatter extends FormatterBase implements ContainerFactoryPlu * The view mode. * @param array $third_party_settings * Any third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Datetime\DateFormatter $date_formatter * The date formatter service. * @param \Symfony\Component\HttpFoundation\Request $request * The current request. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, DateFormatter $date_formatter, Request $request) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, DateFormatter $date_formatter, Request $request) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->dateFormatter = $date_formatter; $this->request = $request; @@ -90,7 +88,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('date.formatter'), $container->get('request_stack')->getCurrentRequest() ); 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 f949699..36bfe15 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php @@ -62,15 +62,13 @@ class TimestampFormatter extends FormatterBase implements ContainerFactoryPlugin * The view mode. * @param array $third_party_settings * Third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Datetime\DateFormatter $date_formatter * The date formatter service. * @param \Drupal\Core\Entity\EntityStorageInterface $date_format_storage * The date format storage. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, DateFormatter $date_formatter, EntityStorageInterface $date_format_storage) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, DateFormatter $date_formatter, EntityStorageInterface $date_format_storage) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->dateFormatter = $date_formatter; $this->dateFormatStorage = $date_format_storage; @@ -88,7 +86,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('date.formatter'), $container->get('entity.manager')->getStorage('date_format') ); diff --git a/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php b/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php index 7e87543..acef616 100644 --- a/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php +++ b/core/modules/comment/src/Plugin/Field/FieldFormatter/CommentDefaultFormatter.php @@ -95,7 +95,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('current_user'), $container->get('entity.manager'), $container->get('entity.form_builder') @@ -119,8 +118,6 @@ public static function create(ContainerInterface $container, array $configuratio * The view mode. * @param array $third_party_settings * Third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Session\AccountInterface $current_user * The current user. * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager @@ -128,8 +125,8 @@ public static function create(ContainerInterface $container, array $configuratio * @param \Drupal\Core\Entity\EntityFormBuilderInterface $entity_form_builder * The entity form builder. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, AccountInterface $current_user, EntityManagerInterface $entity_manager, EntityFormBuilderInterface $entity_form_builder) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, EntityManagerInterface $entity_manager, EntityFormBuilderInterface $entity_form_builder) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->viewBuilder = $entity_manager->getViewBuilder('comment'); $this->storage = $entity_manager->getStorage('comment'); $this->currentUser = $current_user; diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php index 4000af5..aad8c16 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php @@ -53,15 +53,13 @@ * The view mode. * @param array $third_party_settings * Third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Datetime\DateFormatter $date_formatter * The date formatter service. * @param \Drupal\Core\Entity\EntityStorageInterface $date_format_storage * The date format entity storage. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, DateFormatter $date_formatter, EntityStorageInterface $date_format_storage) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, DateFormatter $date_formatter, EntityStorageInterface $date_format_storage) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->dateFormatter = $date_formatter; $this->dateFormatStorage = $date_format_storage; @@ -79,7 +77,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('date.formatter'), $container->get('entity.manager')->getStorage('date_format') ); diff --git a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php index 14cdffc..0bc56c6 100644 --- a/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeTimeAgoFormatter.php @@ -62,15 +62,13 @@ class DateTimeTimeAgoFormatter extends FormatterBase implements ContainerFactory * The view mode. * @param array $third_party_settings * Third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Datetime\DateFormatter $date_formatter * The date formatter service. * @param \Symfony\Component\HttpFoundation\Request $request * The current request. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, DateFormatter $date_formatter, Request $request) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, DateFormatter $date_formatter, Request $request) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->dateFormatter = $date_formatter; $this->request = $request; @@ -101,7 +99,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('date.formatter'), $container->get('request_stack')->getCurrentRequest() ); diff --git a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php index d5fa94b..5f15073 100644 --- a/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php @@ -70,15 +70,13 @@ class ImageFormatter extends ImageFormatterBase implements ContainerFactoryPlugi * The view mode. * @param array $third_party_settings * Any third party settings settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Session\AccountInterface $current_user * The current user. * @param \Drupal\Core\Utility\LinkGeneratorInterface $link_generator * The link generator service. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, AccountInterface $current_user, LinkGeneratorInterface $link_generator, EntityStorageInterface $image_style_storage) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, AccountInterface $current_user, LinkGeneratorInterface $link_generator, EntityStorageInterface $image_style_storage) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->currentUser = $current_user; $this->linkGenerator = $link_generator; $this->imageStyleStorage = $image_style_storage; @@ -96,7 +94,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('current_user'), $container->get('link_generator'), $container->get('entity.manager')->getStorage('image_style') diff --git a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php index 5cf1565..eb3804a 100644 --- a/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php +++ b/core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php @@ -53,7 +53,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('path.validator') ); } @@ -75,13 +74,11 @@ public static function create(ContainerInterface $container, array $configuratio * The view mode. * @param array $third_party_settings * Third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Path\PathValidatorInterface $path_validator * The path validator service. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, PathValidatorInterface $path_validator) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, PathValidatorInterface $path_validator) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->pathValidator = $path_validator; } 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 6e8bf69..3620501 100644 --- a/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php +++ b/core/modules/responsive_image/src/Plugin/Field/FieldFormatter/ResponsiveImageFormatter.php @@ -59,15 +59,13 @@ class ResponsiveImageFormatter extends ImageFormatterBase implements ContainerFa * The view mode. * @param array $third_party_settings * Any third party settings. - * @param string $settings_langcode - * The language code associated with the settings passed above. * @param \Drupal\Core\Entity\EntityStorageInterface $responsive_image_style_storage * The responsive image style storage. * @param \Drupal\Core\Entity\EntityStorageInterface $image_style_storage * The image style storage. */ - public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, $settings_langcode, EntityStorageInterface $responsive_image_style_storage, EntityStorageInterface $image_style_storage) { - parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings, $settings_langcode); + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, EntityStorageInterface $responsive_image_style_storage, EntityStorageInterface $image_style_storage) { + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); $this->responsiveImageStyleStorage = $responsive_image_style_storage; $this->imageStyleStorage = $image_style_storage; @@ -85,7 +83,6 @@ public static function create(ContainerInterface $container, array $configuratio $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], - $configuration['settings_langcode'], $container->get('entity.manager')->getStorage('responsive_image_style'), $container->get('entity.manager')->getStorage('image_style') ); diff --git a/core/modules/views/src/Entity/Render/EntityFieldRenderer.php b/core/modules/views/src/Entity/Render/EntityFieldRenderer.php index 7146fff..94201c4 100644 --- a/core/modules/views/src/Entity/Render/EntityFieldRenderer.php +++ b/core/modules/views/src/Entity/Render/EntityFieldRenderer.php @@ -196,7 +196,6 @@ protected function buildFields(array $values) { if ($values && ($field_ids = $this->getRenderableFieldIds())) { $entity_type_id = $this->getEntityTypeId(); - // @todo could use double-check from dawehner / plach :-) $settings_langcode = $this->view->storage->language()->getId(); // Collect the entities for the relationship, fetch the right translation, diff --git a/core/modules/views/src/Plugin/views/field/Field.php b/core/modules/views/src/Plugin/views/field/Field.php index 7677814..de15ef0 100644 --- a/core/modules/views/src/Plugin/views/field/Field.php +++ b/core/modules/views/src/Plugin/views/field/Field.php @@ -470,14 +470,14 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) { $format = $this->options['type']; $settings = $this->options['settings'] + $this->formatterPluginManager->getDefaultSettings($format); + $settings_langcode = $this->view->storage->language()->getId(); + $settings['settings_langcode'] = $settings_langcode; $options = array( 'field_definition' => $field, 'configuration' => array( 'type' => $format, 'settings' => $settings, - // @todo could use double-check from dawehner / plach :-) - 'settings_langcode' => $this->view->storage->language()->getId(), 'label' => '', 'weight' => 0, ),