diff --git a/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionPluginManager.php b/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionPluginManager.php index 59aa5cd..5aadd3d 100644 --- a/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionPluginManager.php +++ b/core/lib/Drupal/Core/Entity/EntityReferenceSelection/SelectionPluginManager.php @@ -49,9 +49,7 @@ public function getInstance(array $options) { 'handler_settings' => array(), ); - $plugin_id = isset($options['handler_settings']['plugin_id']) ? $options['handler_settings']['plugin_id'] : $this->getPluginId($options['target_type'], $options['handler']); - - return $this->createInstance($plugin_id, $options); + return $this->createInstance($this->getPluginId($options['target_type'], $options['handler']), $options); } /** diff --git a/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php b/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php index 71dc0d0..fb9898c 100644 --- a/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php +++ b/core/modules/entity_reference/src/ConfigurableEntityReferenceItem.php @@ -221,4 +221,15 @@ public static function fieldSettingsToConfigData(array $settings, FieldConfigInt return $settings; } + /** + * {@inheritdoc} + */ + public static function fieldSettingsFromConfigData(array $settings) { + // The 'plugin_id' handler setting is saved to config only to satisfy + // config schema and it is not used on runtime. + unset($settings['handler_settings']['plugin_id']); + + return $settings; + } + }