From aa24bf79f89023bc25eceb57b2ffdb377feee135 Mon Sep 17 00:00:00 2001 From: "Quintino A. G. Souza" Date: Mon, 23 Mar 2026 08:48:19 -0300 Subject: [PATCH] =?UTF-8?q?Corrige=20detec=C3=A7=C3=A3o=20do=20tema=20micr?= =?UTF-8?q?osite=20e=20adiciona=20padr=C3=A3o=20Pathauto=20para=20usu?= =?UTF-8?q?=C3=A1rios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MicrositeThemeNegotiator: substitui verificação por regex no alias (que quebrava com aliases não-numéricos como /user/brunof) por verificação direta do nome da rota - Adiciona config/optional/pathauto.pattern.user_site_mapping.yml para criar automaticamente o padrão de alias user/[user:name] na instalação do módulo, quando o Pathauto estiver habilitado Co-Authored-By: Claude Sonnet 4.6 --- .../pathauto.pattern.user_site_mapping.yml | 14 ++++++++++++++ .../src/Theme/MicrositeThemeNegotiator.php | 11 ++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 config/optional/pathauto.pattern.user_site_mapping.yml diff --git a/config/optional/pathauto.pattern.user_site_mapping.yml b/config/optional/pathauto.pattern.user_site_mapping.yml new file mode 100644 index 0000000..70daf09 --- /dev/null +++ b/config/optional/pathauto.pattern.user_site_mapping.yml @@ -0,0 +1,14 @@ +langcode: pt-br +status: true +dependencies: + module: + - pathauto + - user +id: user_site_mapping +label: 'User site mapping' +type: 'canonical_entities:user' +pattern: 'user/[user:name]' +selection_criteria: { } +selection_logic: and +weight: 0 +relationships: { } diff --git a/modules/site_users_microsite/src/Theme/MicrositeThemeNegotiator.php b/modules/site_users_microsite/src/Theme/MicrositeThemeNegotiator.php index fa7e25a..2a46d71 100644 --- a/modules/site_users_microsite/src/Theme/MicrositeThemeNegotiator.php +++ b/modules/site_users_microsite/src/Theme/MicrositeThemeNegotiator.php @@ -15,15 +15,16 @@ class MicrositeThemeNegotiator implements ThemeNegotiatorInterface { */ public function applies(RouteMatchInterface $route_match): bool { $route_name = $route_match->getRouteName(); - $excluded = ['site_users_microsite.settings']; - if (in_array($route_name, $excluded)) { + if ($route_name === 'site_users_microsite.settings') { return FALSE; } - $current_path = \Drupal::service('path.current')->getPath(); - $alias = \Drupal::service('path_alias.manager')->getAliasByPath($current_path); - return (bool) preg_match('#^/user/\d+(/|$)#', $alias); + if ($route_name === 'entity.user.canonical') { + return TRUE; + } + + return str_starts_with($route_name, 'site_users_microsite.'); } /**