Redireccionar al usuario después de que guarde su cuenta mediante Rules

Redirección web

Un problema que nos encontramos en Drupal 7 es que el usuario, tras registrarse, accede a una página en la que puede cambiar su contraseña, pero tras guardarla, permanece en la misma página del formulario, y algunos usuarios no saben muy bien qué hacer. Una solución sería redireccionar al usuario a otra página, cada vez que cambie su cuenta. En lugar de buscar un módulo que haga exactamente esto mediante hooks, y que quizá nos añada funcionalidad adicional que no nos interesa o bien pueda causar conflictos con otros módulos, lo que haremos es crear una Rule. Por supuesto, si no lo tenemos, tendremos que intalar el módulo Rules

Una vez instalado, nos dirigimos a importar una nueva rule para ello nos dirigimos al apartado Configuración > Flujo de trabajo > Rules ( example.com/admin/config/workflow/rules ) y desde ahí pinchamos en Import Rule

En el área de texto que aparecerá a continuación, pegamos el siguiente código

{ "rules_redireccionar_editar_usuario_propio" : {
    "LABEL" : "redireccionar al editar usuario propio",
    "PLUGIN" : "reaction rule",
    "REQUIRES" : [ "rules" ],
    "ON" : [ "user_update" ],
    "IF" : [
      { "data_is" : { "data" : [ "site:current-user:uid" ], "value" : [ "account:uid" ] } }
    ],
    "DO" : [ { "redirect" : { "url" : "\u003Cfront\u003E" } } ]
  }
}

Y pinchamos en el botón Importar

Si todo ha ido bien, tendremos una nueva rule creada, con el nombre redireccionar al editar usuario propio, que se ejecuta con el evento "After updating an existing user account" con la condición de que el id del usuario logeado sea igual al id del usuario cuya cuenta estamos modificando, es decir, cuando un usuario modifica su cuenta. Esto también sucede cuando el usuario establece su contraseña por primera vez.  Por defecto, la redirección está configurada a <front> (la página de inicio cualquiera que sea), pero si editamos la rule, podemos modificar la acción "Page redirect" para establecer cualquier otra dirección url.

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
CAPTCHA
Esta pregunta es para evitar el envío automático de spam