[ 'variables' => [ 'photo_url' => NULL, 'photo_alt' => '', 'name' => NULL, 'bio' => NULL, 'phone' => NULL, 'email' => NULL, ], ], ]; } /** * Implements hook_preprocess_page(). * * Disponibiliza variáveis do usuário do micro-site para o tema. */ function site_users_microsite_preprocess_page(array &$variables): void { $route_match = \Drupal::routeMatch(); $route_name = $route_match->getRouteName(); $is_microsite = $route_name === 'entity.user.canonical' || str_starts_with($route_name, 'site_users_microsite.'); if (!$is_microsite) { return; } $user = $route_match->getParameter('user'); if (!($user instanceof UserInterface)) { return; } $variables['microsite_user'] = $user; $variables['microsite_user_name'] = $user->getDisplayName(); $variables['microsite_user_roles'] = $user->getRoles(TRUE); $photo = site_users_get_default_photo($user); if ($photo) { $render = \Drupal::entityTypeManager() ->getViewBuilder('media') ->view($photo, 'thumbnail'); $variables['microsite_user_photo'] = \Drupal::service('renderer') ->renderInIsolation($render); } }