diff --git a/core/modules/views/src/Plugin/views/display/EntityReference.php b/core/modules/views/src/Plugin/views/display/EntityReference.php index c8ab57c4..7b901308 100644 --- a/core/modules/views/src/Plugin/views/display/EntityReference.php +++ b/core/modules/views/src/Plugin/views/display/EntityReference.php @@ -156,7 +156,15 @@ class EntityReference extends DisplayPluginBase { $id_table = $this->view->storage->get('base_table'); $this->id_field_alias = $this->view->query->addField($id_table, $id_field); - $options = $this->getOption('entity_reference_options'); + $options = $this->getOption('entity_reference_options') ?? []; + // @see Drupal\views\Plugin\EntityReferenceSelection\ViewsSelection::initializeView() + $default_options = [ + 'match' => NULL, + 'match_operator' => 'CONTAINS', + 'limit' => 0, + 'ids' => NULL, + ]; + $options += $default_options; // Restrict the autocomplete options based on what's been typed already. if (isset($options['match'])) { diff --git a/core/modules/views/tests/src/Functional/Plugin/DisplayEntityReferenceTest.php b/core/modules/views/tests/src/Functional/Plugin/DisplayEntityReferenceTest.php index 9fcf2a7d..c2a1cc25 100644 --- a/core/modules/views/tests/src/Functional/Plugin/DisplayEntityReferenceTest.php +++ b/core/modules/views/tests/src/Functional/Plugin/DisplayEntityReferenceTest.php @@ -264,6 +264,12 @@ class DisplayEntityReferenceTest extends ViewTestBase { $view->setDisplay('entity_reference_1'); $render = $view->display_handler->render(); $this->assertSame([], $render, 'Render returned empty array'); + + // Execute the View without setting the 'entity_reference_options'. + $view->destroy(); + $view = Views::getView('test_display_entity_reference'); + $view->setDisplay('entity_reference_1'); + $this->executeView($view); } }