diff --git a/src/Entity/EntityExtraField.php b/src/Entity/EntityExtraField.php index ef6c94e..7467d75 100644 --- a/src/Entity/EntityExtraField.php +++ b/src/Entity/EntityExtraField.php @@ -17,6 +17,7 @@ use Drupal\Core\Url; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\entity_extra_field\EntityExtraFieldContextTrait; use Drupal\entity_extra_field\ExtraFieldTypePluginInterface; +use Drupal\views\Views; /** * Define entity extra field. @@ -318,6 +319,18 @@ class EntityExtraField extends ConfigEntityBase implements EntityExtraFieldInter return []; } + $content = $field_type_plugin->build($entity, $display); + if ($content["#type"] == 'view') { + $view = Views::getView($content['#name']); + if (is_object($view)) { + $view->setDisplay($content['#display_id']); + $view->execute(); + } + if(empty($view->result) && empty($view->empty)) { + return []; + } + } + return [ '#field' => $this, '#view_mode' => $display->getMode(),