FieldEmbedView::getFieldBuild() expects $view->getDisplay() to return an array, but that method returns a class instance that does not implements the __get() magic method.
The following code needs to be changed.
$view_display = $view->getDisplay();
foreach ($view_display['display_options']['arguments'] as $argument) {
if (isset($display_settings['settings']['arguments'][$argument['id']])) {
$arg_values = $this->getViewsArgumentsValues($entities, $display_field, $display_settings['settings']['arguments'][$argument['id']], $parent_entity, $view_mode, $language);
if (!empty($arg_values)) {
$args[] = implode('+', $arg_values);
}
}
}
Comments
Comment #2
avpadernoInstead of
$view_display['display_options']['arguments'], the code should probably use$view_display->display['display_options']['arguments'].I am postponing it on #3432055: Do not load twice the embedded view.
Comment #3
avpadernoComment #4
avpadernoComment #6
avpadernoComment #8
avpaderno