User current paths (user/edit & user/current/*)

Proporciona rutas de acción de usuario neutrales respecto al UID utilizando 'current' como marcador de posición que se resuelve automáticamente al ID del usuario conectado.

user_current_paths
1,775 sites
26
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

Instalar

Drupal 11, 10, 9, 8 v2.0.4
composer require 'drupal/user_current_paths:^2.0'

Overview

El módulo User current paths resuelve un problema común de usabilidad en Drupal: crear enlaces agnósticos al usuario que funcionen para cualquier usuario conectado sin conocer su ID de usuario específico. En lugar de codificar rutas como /user/123/edit, puedes usar /user/current/edit que redirige automáticamente a la ruta específica del usuario correspondiente.

Esto es particularmente útil para crear enlaces de menú, accesos directos o elementos de navegación que deben apuntar al perfil del usuario actual, formulario de edición o cualquier otra página relacionada con el usuario. El módulo también proporciona un acceso directo conveniente /user/edit que redirige directamente al formulario de edición de cuenta del usuario actual.

Además, el módulo añade un enlace 'Editar mi cuenta' al menú de cuenta de usuario, facilitando a los usuarios conectados el acceso a la configuración de su cuenta directamente desde la navegación.

Features

  • Proporciona la ruta /user/current que redirige a la página de perfil del usuario actual (/user/{uid})
  • Proporciona rutas comodín /user/current/{action} que redirigen a cualquier página de acción del usuario (ej., /user/current/edit → /user/{uid}/edit)
  • Proporciona la ruta de acceso directo /user/edit que redirige al formulario de edición de cuenta del usuario actual
  • Añade el enlace de menú 'Editar mi cuenta' al menú de cuenta de usuario para usuarios conectados
  • Valida las rutas antes de redirigir, devolviendo 404 para destinos inválidos
  • Funciona con cualquier ruta relacionada con usuarios, incluyendo las proporcionadas por módulos contribuidos (ej., /user/current/shortcuts)

Use Cases

Crear accesos directos en el menú de usuario

Al construir un sitio con un panel de usuario o área de cuenta, puedes crear enlaces de menú usando rutas /user/current sin necesidad de conocer los IDs de usuario. Esto permite una navegación genérica que funciona para todos los usuarios.

Enlaces codificados en código personalizado

Al desarrollar módulos o temas personalizados, usa rutas /user/current/* en los enlaces en lugar de generar dinámicamente URLs específicas de usuario. Esto simplifica el código y reduce la necesidad de cargar el contexto del usuario.

Plantillas de correo electrónico con enlaces de cuenta

Incluye enlaces /user/current/edit o /user/edit en las plantillas de correo electrónico. Cuando los usuarios hagan clic en estos enlaces después de iniciar sesión, serán redirigidos a sus propias páginas de cuenta.

Integración con accesos directos

Los usuarios pueden añadir rutas /user/current/* a sus accesos directos para un acceso rápido a sus propias páginas de cuenta sin necesidad de conocer su ID de usuario.

Integración con sistemas externos

Al integrar con sistemas externos que necesitan enlazar a páginas específicas de usuario en Drupal, proporciona URLs /user/current/* que funcionarán para cualquier usuario autenticado.

Tips

  • Usa /user/current/edit en lugar de construir URLs dinámicas de edición de usuario en tu código
  • El módulo funciona con cualquier módulo contribuido que añada subpáginas de usuario (ej., /user/current/orders para sitios de comercio)
  • La ruta /user/edit es un acceso directo conveniente cuando solo necesitas enlazar al formulario de edición
  • Todas las redirecciones mantienen un control de acceso adecuado: los usuarios verán acceso denegado si no tienen permiso para ver el destino

Technical Details

Troubleshooting 3
Obtengo error 404 al acceder a /user/current/{action}

El módulo valida que la ruta de destino existe. Si obtienes un 404, la ruta subyacente /user/{uid}/{action} no existe. Verifica que la acción que intentas acceder sea una ruta de usuario válida.

Los usuarios anónimos obtienen acceso denegado

Todas las rutas proporcionadas por este módulo requieren que el usuario esté conectado. Los usuarios anónimos no pueden usar estas rutas de redirección.

El enlace 'Editar mi cuenta' no aparece en el menú

El enlace se añade al menú 'account'. Asegúrate de que este menú se esté mostrando en tu Theme y de que hayas iniciado sesión.

Security Notes 3
  • El módulo usa el validador de rutas de Drupal para asegurar que los destinos de redirección sean rutas internas válidas
  • El control de acceso se aplica en el destino: los usuarios no pueden acceder a páginas para las que no tienen permiso
  • Las redirecciones se manejan de forma segura como si el usuario hubiera ingresado la URL manualmente, con todas las verificaciones de seguridad aplicadas