From 41378004a2ffe649d76490cbbfbaf2109a38c824 Mon Sep 17 00:00:00 2001 From: "Quintino A. G. Souza" Date: Sun, 22 Mar 2026 08:53:14 -0300 Subject: [PATCH] =?UTF-8?q?Corrige=20condi=C3=A7=C3=A3o=20de=20bloco=20par?= =?UTF-8?q?a=20rotas=20sem=20par=C3=A2metro=20'user'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Em rotas de nós exibidos como páginas do microsite (/user/{id}/...), a rota não carrega o parâmetro 'user'. A condição agora usa o autor do nó como fallback, permitindo que o bloco apareça corretamente nessas páginas. Co-Authored-By: Claude Sonnet 4.6 --- src/Plugin/Condition/PageUserIsCurrentUser.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Plugin/Condition/PageUserIsCurrentUser.php b/src/Plugin/Condition/PageUserIsCurrentUser.php index 8770acc..edefed7 100644 --- a/src/Plugin/Condition/PageUserIsCurrentUser.php +++ b/src/Plugin/Condition/PageUserIsCurrentUser.php @@ -7,6 +7,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\AccountInterface; +use Drupal\node\NodeInterface; use Drupal\user\UserInterface; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -89,7 +90,13 @@ class PageUserIsCurrentUser extends ConditionPluginBase implements ContainerFact $page_uid = (int) $param; } else { - return FALSE; + // Rotas sem parâmetro 'user' (e.g., nós do microsite em /user/{id}/...): + // usa o autor do nó como usuário da página. + $node = $this->routeMatch->getParameter('node'); + if (!($node instanceof NodeInterface)) { + return FALSE; + } + $page_uid = (int) $node->getOwnerId(); } return $page_uid === (int) $this->currentUser->id();