mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/site_users.git
synced 2026-05-03 20:20:42 -03:00
Adiciona sub-módulo site_users_microsite e tema site_users_microsite_theme
Sub-módulo com ThemeNegotiator, controller de listagem de conteúdo por usuário, formulário de configuração de tipos de conteúdo por papel e serviços registrados. Tema com regiões header, highlighted, tabs, messages, content, sidebar, social e footer; template page.html.twig com header padrão gerado a partir dos dados do usuário (foto, nome, roles) quando a região header estiver vazia. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
43
modules/site_users_microsite/site_users_microsite.module
Normal file
43
modules/site_users_microsite/site_users_microsite.module
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Sub-módulo de micro-site pessoal de usuário.
|
||||
*/
|
||||
|
||||
use Drupal\user\UserInterface;
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user