Skip to content
Snippets Groups Projects

fix(php): fix php warning when checking view_mode validity

@@ -72,16 +72,17 @@ function token_entity_render_tokens($type, array $tokens, array $data, array $op
// Traverse again all tokens to process.
$renderer = \Drupal::service('renderer');
foreach ($to_process as $token_replaceable_value => $view_mode_name) {
$target_view_mode = $data['entity_type'] . '.' . $view_mode_name;
// If the view mode actually exists and if the entity type matches.
if (($view_mode = $all_view_modes[$data['entity_type'] . '.' . $view_mode_name])) {
// The view mode name does not have the entity name.
$mode_machine_name = substr($view_mode->id(), strlen($view_mode->getTargetType()) + 1);
$rendered_entity = \Drupal::entityTypeManager()->getViewBuilder($view_mode->getTargetType())->view($data['entity'], $mode_machine_name);
// Add the replacement.
$replacements[$token_replaceable_value] = $renderer->renderPlain($rendered_entity);
if (!isset($all_view_modes[$target_view_mode])) {
continue;
}
$view_mode = $all_view_modes[$target_view_mode];
// The view mode name does not have the entity name.
$mode_machine_name = substr($view_mode->id(), strlen($view_mode->getTargetType()) + 1);
$rendered_entity = \Drupal::entityTypeManager()->getViewBuilder($view_mode->getTargetType())->view($data['entity'], $mode_machine_name);
// Add the replacement.
$replacements[$token_replaceable_value] = $renderer->renderPlain($rendered_entity);
}
// Return replacements, if any.
Loading