diff --git a/src/Plugin/Field/FieldFormatter/ViewsReferenceFieldFormatter.php b/src/Plugin/Field/FieldFormatter/ViewsReferenceFieldFormatter.php index ea3d7b5ac1b67f23892f710256e6cada52284fdd..681f16b7970c1f85c668c1fc3ebfddf3bc5c4040 100644 --- a/src/Plugin/Field/FieldFormatter/ViewsReferenceFieldFormatter.php +++ b/src/Plugin/Field/FieldFormatter/ViewsReferenceFieldFormatter.php @@ -101,6 +101,10 @@ class ViewsReferenceFieldFormatter extends FormatterBase { continue; } + // Ensure that the display exists on the View. + if (!$view->displayHandlers->has($display_id)) { + continue; + } $view->setDisplay($display_id); $enabled_settings = array_filter($this->getFieldSetting('enabled_settings') ?? []); diff --git a/src/Plugin/Field/FieldFormatter/ViewsReferenceLazyFieldFormatter.php b/src/Plugin/Field/FieldFormatter/ViewsReferenceLazyFieldFormatter.php index 0a8f4b07f096a9d5de4640018149f50b7408231a..2f0783367c7ca55d1792937332e060b397708ce7 100644 --- a/src/Plugin/Field/FieldFormatter/ViewsReferenceLazyFieldFormatter.php +++ b/src/Plugin/Field/FieldFormatter/ViewsReferenceLazyFieldFormatter.php @@ -161,6 +161,10 @@ class ViewsReferenceLazyFieldFormatter extends FormatterBase implements TrustedC return []; } + // Ensure that the display exists on the View. + if (!$view->displayHandlers->has($display_id)) { + return []; + } $view->setDisplay($display_id); // Add properties to the view so our hook_views_pre_build() implementation // can alter the view. This is pretty hacky, but we need this to fix ajax